Bonjour à tous,
Je désire allez chercher les données de notre base HFSQL, mais je n'arrive pas à intérogger par ODBC.
La base de donnée est une base clipper.
Bonjour à tous,
Je désire allez chercher les données de notre base HFSQL, mais je n'arrive pas à intérogger par ODBC.
La base de donnée est une base clipper.
Clipper normalement c'est le format dbase/ foxpro.
Si ton odbc est installé, il ne doit pas y avoir trop de problèmes...
Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.
Sur internet, tout est vrai ! Honoré de Balzac
Make it real not fantasy... Herman Rarebell
Merci, mais non, c'est vraiment Windev, HyperFiles SQL (V15).
J'arrive à le contacter, mais il me dit que le nom d'utilisateur et mot de passe ne sont pas valides. Hors, je peux m'y connecter sur le Control Center de HyperSQL.
C'est que tu es en Client serveur et il te faut l'identification de connexion (utilisateur + mdp)
Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.
Sur internet, tout est vrai ! Honoré de Balzac
Make it real not fantasy... Herman Rarebell
Nous avons fait le même test, mais le connecteur ODBC ne fonctionne absolument pas.
Nous avons du faire un traitement spécifique qui assure notre migration HF SQL vers une autre base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138 HSurErreur("*",hErrTout,"") cnxTblSQL est une Connexion //Ouverture connexion SQL Server SI PAS RedefCnx(cnxTblSQL) ALORS RETOUR FIN bTransactOuverte est un booléen sListeFic est une chaîne sFicHF est une chaîne sFicSQL est une chaîne nIndFic est un entier sReq est une chaîne rsSupp est une Source de Données DélaiAvantFermeture(500) SI EnModeTest() ALORS sListeFic = [ ART_FICHE_TECH ] SINON //Extraction de la liste des tables à migrer. sListeFic = fChargeTexte(ComplèteRep(fRepExe()) + "ListeTable.txt") FIN //Ouverture connexion BDD de prod SetCnxSource(SEL_BDD) nIndFic = 1 sFicHF = ExtraitChaîne(sListeFic,nIndFic,RC) TANTQUE sFicHF <> EOT QUAND EXCEPTION DANS MaFenêtre..Titre = "Transfert : " + sFicHF MultitâcheRepeint() SI PAS HChangeConnexion({sFicHF,indFichier},WINMAT_BDD) ALORS ExceptionDéclenche(1,HErreurInfo(hErrComplet)) FIN //Création des alias des tables à injecter. sFicSQL = sFicHF + "_SQL" SI PAS HAlias(sFicHF, sFicSQL) ALORS ExceptionDéclenche(1,HErreurInfo(hErrComplet)) FIN SI PAS HChangeConnexion(sFicSQL,cnxTblSQL) ExceptionDéclenche(1,HErreurInfo(hErrComplet)) FIN SI PAS HChangeNom(sFicSQL,sFicHF) ExceptionDéclenche(1,HErreurInfo(hErrComplet)) FIN //Utile si la structure n existe pas dans la base de destination. SI PAS HCréationSiInexistant(sFicSQL) ExceptionDéclenche(1,HErreurInfo(hErrComplet)) FIN HLitPremier(sFicHF) SQLTransaction(sqlDébut, cnxTblSQL) bTransactOuverte = Vrai SI HNbEnr(sFicSQL) = 0 OU INT_InjecterTblNonVides = Vrai ALORS //Si la table de destination est potentiellement non vide, on supprimer tous les enregistrements. SI INT_InjecterTblNonVides ALORS SI PAS HExécuteRequêteSQL(rsSupp,cnxTblSQL,hRequêteSansCorrection,"TRUNCATE TABLE " + sFicHF) ALORS ExceptionDéclenche(1,HErreurInfo(hErrComplet)) FIN FIN ChronoDébut() //Copie de tous les enregistrements du fichier. TANTQUE PAS HEnDehors(sFicHF) SI PAS HCopieEnreg(sFicSQL,sFicHF,hCopieIdAuto) ALORS TraceLog(HErreurInfo(hErrComplet), sFicHF) FIN SI PAS HAjoute(sFicSQL,hFixeIdAuto) ALORS TraceLog(HErreurInfo(hErrComplet), sFicHF) FIN HLitSuivant(sFicHF) FIN Trace(sFicHF + "-" + ChronoFin() + "-" + HNbEnr(sFicSQL)) FIN SQLTransaction(sqlFin, cnxTblSQL) bTransactOuverte = Faux HAnnuleAlias(sFicSQL) FAIRE erreur(ExceptionInfo(), sFicHF) ExceptionActive() SI bTransactOuverte ALORS SQLTransaction(sqlAnnule, cnxTblSQL) bTransactOuverte = Faux FIN Trace(sFicHF + "-Erreur") FIN nIndFic++ sFicHF = ExtraitChaîne(sListeFic,nIndFic,RC) FIN
Désolé pour le délais.
C'est encore d'actualité chez nous.
Le language que tu utilise c'est du WinDev si je ne me trompe pas. Tu met ça Où ? Nous on utilise pas WinDev. On est juste tributaire d'un éditeur de logiciel qui essaye de rendre hermétique son logiciel, tenir en otage les clients et surtout de dire que ce n'est pas possible d'aller lire ces données. Alors on veut changer et pour cela, sortir les données de ce serveur HyperSQL et alimenter une base MSSQL pour pouvoir traiter et utiliser ces données.
On a VisualStudio Pro et on envisage de faire un Windows Service pour aller scanner la base HyperSQL et mettre à jour les données de MSSQL (un connecteur qui va périodiquement checker les modifications et faire un update sur le MSSQL).
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager