Le forum (ô combien francophone) des utilisateurs de Powerbuilder.
Pages: 1
Discussion fermée
Bonjour à tous !
Sur le topic que j'ai posté ici, j'évoquais un problème d'accès à ma base de données
via un projet PowerBuilder.
Celui-ci a été solutionné en sélectionnant le driver ODBC PB DATADIRECT OEM 4.20
Oracle. Je pense qu'il s'agit d'un driver ODBC propriétaire à PowerBuilder (créé par
DataDirect Technologies), c'est pour cela que je recherche un driver ODBC qui
puisse faire fonctionner (convenablement) mon application en accédant à la base de
données Oracle 8 ou supérieure (les drivers de Microsoft ne fonctionne pas, ceux
d'Oracle sont buggés ...). Ce driver devrait être de préférence gratuit.
Le cas échéant, puis-je distribuer le driver ODBC PB DATADIRECT OEM 4.20 Oracle
avec mon application ? Si oui, comment le faire ?
Par avance, merci.
Hors ligne
tu l'installes comment ce driver ?
il y a un install ?
il y a une liste de DLL ?
+ un fichier de registre ?
moi je pense que tu peux l'installer...vu que ce sont des dlls...
Hors ligne
Salut !
Effectivement, je viens de vérifier, ce driver est installé lors de l'installation de
PowerBuilder 10 (lorsque tu choisi "Custom" et que tu sélectionnes les composants que
tu souhaites installer. Maintenant, sachant qu'il s'agit d'un driver s'installant en même
temps que PB, je souhaiterai soit :
- faire en sorte de déployer ce driver en même temps que mon application
- trouver un autre driver ODBC qui puisse faire fonctionner mon application correctement
comme celui-ci
Sinon, la DLL en question est PBOR819.DLL qui se trouve dans le répertoire Shared
d'installation.
Voilà, si quelqu'un a une idée ...
De mon côté, je continue mes investigations.
Hors ligne
salut,
je pense que tu es deja allé voir sur ce lien ?
http://manuals.sybase.com/onlinebooks/g … View/52728
Hors ligne
Merci pour ton lien !
Après consultation, j'ai trouvé ceci me concernant :
PBOR819.DLL PBOR819R.DLL PBOR819S.DLL PBOR8DTC19.DLL PB DataDirect OEM 4.2 Oracle. Registry entry: [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers] "PB DataDirect OEM 4.2 Oracle"="Installed" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\PB DataDirect OEM 4.2 Oracle] "UsageCount"="1" "Driver"="%SHARED%\\DataDirectODBC\\PBOR819.DLL" "Setup"="%SHARED%\\DataDirectODBC\\PBOR819S.DLL" "APILevel"="1" "ConnectFunctions"="YYY" "DriverODBCVer"="3.51" "FileUsage"="0" "SQLLevel"="1" "CPTimeout"="60"
Une section nous indique où installer les différents composants :
Installed path :
\Program Files\Sybase\Shared\DataDirect
Deployment path :
Same directory as the application, in a directory on the system path, or in the App Path registry key.
Registry entries :
See table, and also "App Path registry key" and "Configuring ODBC data sources and drivers" on page
Apparement, d'après ce que j'ai lu après, je dois créer un fichier .REG qui va créer/modifier des entrées
dans la base de registre conformément à ce que j'ai besoin. En outre, je dois fournir les 4 fichiers DLL
me permettant exploiter ce driver ODBC.
Je vais faire tout cela, voir si cela solutionne mon problème ...
Mais deux autres questions :
1º Ai-je le droit de déployer ce driver ODBC (copyright ?)
2º Le cas échéant, il me faudrait trouver un driver alternatif ...
Merci pour tout.
Hors ligne
Bonjour,
A la suite de mes différentes recherches, j'ai créer un fichier .REG permettant de
créer les entrées nécessaires dans la base de registre, afin de rendre exploitable le
driver PB DATADIRECT OEM 4.20 Oracle sur un autre poste que le mien.
Voici le contenu de ce fichier .REG :
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Translators] "OEM to ANSI"="Installed" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\OEM to ANSI] "Translator"="C:\\appli\\PBtrn19.dll" "Setup"="C:\\appli\\PBtrn19.dll" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers] "PB DATADIRECT OEM 4.20 Oracle"="Installed" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\PB DATADIRECT OEM 4.20 Oracle] "Driver"="C:\\appli\\pbor819.dll" "Setup"="C:\\appli\\pbor819s.dll" "APILevel"="1" "ConnectFunctions"="YYY" "CPTimeout"="60" "DriverODBCVer"="3.52" "FileUsage"="0" "SQLLevel"="1" "UsageCount"="1"
En outre, d'après le lien que tu m'a fourni Pick Ouick, j'ai copié les différentes DLLs
nécessaire à l'utilisation de ce driver dans le répertoire de l'application comme indiqué
dans le lien ci-dessus.
J'ai ensuite déployé mon application sur un poste de test et ai exécuté le fichier .REG
que j'ai créer. Le fichier a bien créer les différentes entrées dans la base de registre
comme spécifié. En outre, dans les drivers ODBC, le driver à bien été ajouté dans la
liste des drivers ODBC.
Cependant, lorsque je souhaite créer un DSN système utilisant ce driver ODBC (sur
mon poste de test), Windows me retourne l'erreur suivante :
puis m'affiche cette autre fenêtre :
J'ai alors continuer mes recherches et sur le site de Datadirect (l'éditeur de ce driver
ODBC), un de membres du forum d'aide indiquait qu'il était préférable d'utiliser le
driver PB DATADIRECT OEM 4.20 Oracle Wire Protocol (qui est aussi de cet
éditeur).
De ce fait, sur mon poste, j'ai essayé de créer un accès à ma base de données via ce
driver ODBC, mais je n'ai pas réussi à le configurer, car celui-ci me retourne
systématiquement une erreur, alors que tous les paramètres (Host, SID, Port,
utilisateur et mot de passe) me semblent correct. D'ailleurs, par défaut, en créant un
lien utilisant ce driver, les champs Port et SID recoivent les valeurs 1521 et ORCL.
Enfin, j'ai essayé de trouver une alternative à tout cela en utilisant le driver Oracle
ODBC driver (qui jusqu'à présent ne fonctionnait pas - même sur mon poste - et
me retournait la même erreur que la première capture d'écran ci-dessus). Mes
recherches sur internet m'ont permi de voir que si ce dernier driver ne fonctionnait
pas, c'est parce qu'il était indiqué à Not marked dans la colonne version. Pour
remédier à cela, il fallait télécharger 2 DLL : mfc71.dll et msvcr71.dll, DLL que je
n'avais pas sur mon système. Ces deux fichiers devait être placé sur
c:\windows\system
ce que j'ai fait. Cependant, lorsque j'ai souhaité créer un DSN système s'appuyant sur
cet autre driver ODBC, celui m'a retourné la même erreur que les captures d'écrans
ci-dessus ...
CONCLUSIONS :
1º Le driver PB DATADIRECT OEM 4.20 Oracle fait fonctionner correctement
l'application sur mon système, mais je n'arrive pas à l'utiliser sur un autre poste
(qui n'ait pas PowerBuilder). Manque-t-il un fichier pour que le déploiement puisse
faire fonctionner ce driver ?
2º Le driver PB DATADIRECT OEM 4.20 Oracle Wire Protocol, je n'arrive pas à le
configurer en dépit du fait que l'ensemble des paramètres requis soient
correctement rempli ...
3º Le driver Oracle ODBC driver n'est pas fonctionnel sur mon poste, même
après avoir copié les DLLs manquantes sur le dossier système de Windows
En ce moment, je continue mes recherches, mais je dois avouer que je suis un peu
démuni ...
Si quelqu'un a une idée ...
Merci.
Hors ligne
Tiens, en testant un peu plus avec le driver PB DATADIRECT OEM 4.20 Oracle Wire Protocol
j'obtiens ce message (très explicite, qui m'aide beaucoup) lors de la connexion :
Personne n'a vraiment aucune idée/piste ?
Hors ligne
au niveau du poste sur lequel tu as installé ce driver...il y a bien ODBC ?
tu sais, tu le vois dans outil administration...
et logiquement, tu devrais parametrer ton driver pb ...
Hors ligne
Oui, effectivement j'ai accès à ODBC. D'ailleurs, ce driver apparaît dans la liste de
mon poste de test, malheureusement j'obtiens les messages d'erreur lorsque je souhaite
créer un lien utilisant ce driver, c'est ce qui me bloque.
J'ai sélectionné ce driver (PB DATADIRECT OEM 4.20 Oracle) car c'est celui qui a
permis de faire fonctionner correctement l'application sur mon poste. Maintenant, je
souhaitais le déployer sur une autre machine (n'ayant par conséquent pas
PowerBuilder d'installé), mais après avoir fait tout ce que j'ai pu lire à ce sujet sur
internet, je n'ai pas réussi à créer le lien sur ce poste, m'indiquant toujours la déjà
fameuse erreur 126 (copie d'écran dans les posts précédents).
Qu'en penses-tu ?
Hors ligne
Bonjour à tous !
Ça y est, j'ai trouvé d'où venait le problème ! Il manquait une DLL !
Voici la marche à suivre pour distribuer un driver ODBC (ici le driver PB DATADIRECT
OEM 4.20 Oracle) :
Créer un fichier .REG contenant le script ci-dessous :
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Translators] "OEM to ANSI"="Installed" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\OEM to ANSI] "Translator"="C:\\windows\\system32\\ODBC\\PBtrn19.dll" "Setup"="C:\\windows\\system32\\ODBC\\PBtrn19.dll" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers] "PB DataDirect OEM 4.2 Oracle"="Installed" [HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\PB DataDirect OEM 4.2 Oracle] "UsageCount"="1" "Driver"="C:\\windows\\system32\\ODBC\\PBOR819.DLL" "Setup"="C:\\windows\\system32\\ODBC\\PBOR819S.DLL" "APILevel"="1" "ConnectFunctions"="YYY" "DriverODBCVer"="3.51" "FileUsage"="0" "SQLLevel"="1" "CPTimeout"="60"
Remarques :
1º Les dossiers doivent avoir 2 anti-slash de séparations "\\". C'est bête, mais je me
suis fait avoir en vérifiant dans la base de registre que la clé contenant
le chemin n'était pas créée ...
2º Le chemin indiqué est à titre indicatif. On peut mettre le chemin que l'on souhaite,
même celui où se trouve l'application.
3º Il faut copier la liste des fichiers ci-dessous dans le chemin indiqué dans le
fichier .REG, dans l'exemple c:\windows\system32\ODBC :
ivpb.lic Pbbas19.dll Pbbas19r.dll pbicu19.dll => la DLL qui me manquait ! PBOR8DTC19.DLL Pbor819.dll Pbor819r.dll Pbor819s.dll Pbtrn19.dll Pbutl19.dll Pbutl19r.dll
Pour savoir quelle DLL je devais utiliser pour disposer du driver ODBC cité ci-dessus,
j'ai d'abord consulté le site de Sybase et plus particulièrement cette page (voir
la section PB DataDirect ODBC drivers and supporting files dans cette
page).
Comment ai-je découvert qu'il manquait la DLL pbicu19.dll ? J'ai simplement
recommencer une installation de PowerBuilder, mais en choisissant une installation
personnalisée (où je n'ai installé que ce driver ODBC et rien d'autre). Et effectivement,
il y avait toutes les DLL citées dans le lien de Sybase et en plus, cette DLL. Je l'ai
rajouté et mon driver ODBC déployé a fonctionné ! (au passage, j'ai endommagé
mon installation de PowerBuilder, j'ai dû le ré-installer, mais ça a valu le coup !)
Le problème est résolu, je clos le sujet.
Hors ligne
Discussion fermée
Pages: 1