Oracle 8i: Driver ODBC 16 bits pour Windows 2000

Oracle 8i: Driver ODBC 16 bits pour Windows 2000 - SQL/NoSQL - Programmation

Marsh Posté le 03-09-2004 à 09:53:55    

Help!
 
Voila, j'ai comme un probleme que je n'arrive pas a resoudre toute seule...
Je voudrais connecter des appli 16 bits qui tournent sous Windows 2000 sur une DB distante Oracle 8.1.7.
Il semblerait que j'ai besoin pour ca d'un driver Oracle ODBC 16 bits. Le seul que j'ai trouve sur le site officiel d'Oracle est un driver 16bits Oracle7 pour Windows 3. J'ai reussi a l'installer mais maintenant j'ai besoin de SQL*Net pour Win 3. que j'ai trouve aussi (mais pas sur oracle) et l'install plante sur mon PC.
 
QQn aurait-il une solution a mon probleme? Existe-t-il un driver Oracle ODBC 16 bits plus recent? Y a-t-il moyen de faire marcher tout ca avec un driver 32 bits?
 
Merci  :)  
 

Reply

Marsh Posté le 03-09-2004 à 09:53:55   

Reply

Marsh Posté le 03-09-2004 à 15:45:31    

Il faut que tu installes le client Oracle 8.1.7 sur ta machine Windows 2000. Sans ça les drivers ODBC/OLEDB ne fonctionnent pas.
 
Vivi, Oracle c'est de la merde en branche, même leur implémentation d'ODBC est proprio...

Reply

Marsh Posté le 03-09-2004 à 15:47:32    

Sinon, je suis étonné que les drivers 32 bits ne fonctionnent pas.
 
Si tu passes par ODBC, normalement les drivers restent en dehors de ton appli, et tu dois pouvoir les appeler de façon dynamique en utilisant COM/DCOM. A ce moment, je ne suis pas sûr que le fait qu'ils soient 32 bits et ton appli 16 bits soir vraiment gênant.
 
Sorti de ça, t'as les sources de l'appli ? Si oui, pourquoi ne pas simplement la recompiler avec un compilo 32 bits ? Si tu ne touches à rien, tu as 99% de chances pour que tout se passes sans problème.

Reply

Marsh Posté le 03-09-2004 à 16:10:38    

Non, je n'ai pas les sources de l'appli mais je peux peut-etre les avoir... mais bon c'est ecrit en KEY:Assemble, et j'ai pas la moindre idee de a koi ca ressemble...
 
Par contre, j'ai installe le client Oracle 8.1.7 sur ma machine mais je sais pas bien comment configurer tout ca pour que mon appli fonctionne avec.
Actuellement, je dois ajouter une ligne dans mon win.ini dans la section [SQL Server] avec la DLL WDBWSKTC, l'adresse IP et le port du serveur sur le quel est installe la Database.
Si je me contente de ca, ca ne marche pas:
Cote DB, voila ce que me dit le fichier listener.log:
TNS-12502: TNS:listener received no CONNECT_DATA from client
 
A koi penses ti quand tu parles d'appeler le driver en utilisant COM/DCOM?
Y a-t-il une autre DLL que WDBWSKTC pour appeler un driver 32 bits?
 
Je suis desolee mais je n'y connais pas grand chose dans tout ca et j'ai du mal a trouver les infos...
 
Un grand merci pour ton aide :) :) :)

Reply

Marsh Posté le 03-09-2004 à 19:53:55    

Ouh là !
 
Vire tout de suite la ligne que t'as mis dans ton win.ini
 
Lorsque tu as installé le client Oracle, va dans le répertoire :
 
c:\orant\net80\admin
 
-> Là dedans, tu as normalement un fichier qui s'appelle TNSNAMES.ORA
 
Edite le. Normalement, il doit y avoir une ou deux lignes d'exemples.
 
Copies-en une (c'est tout un bloc avec des parenthèses imbriquées sur 3 ou 4 lignes)
 
Sur la première ligne du block, tapes un nom style "mabase.world". Ce sera ton TNS.
 
Ensuite, dans "host", tapes l'IP du serveur qui fait tourner la base Oracle.
Dans port, logiquement tu laisses par défaut. Si vous utilisez un autre port pour la base Oracle, alors change.
Dans SID, met le nom de la base de données Oracle du serveur.
Je ne me souviens plus s'il y a un truc login ou pas. Si oui, change-le aussi avec le login à utiliser pour se connecter (logiquement de toute façon il sert à rien)
 
Ensuite, enregistre.
 
Démarrer > Paramètres > Panneau de config > Outils d'administration > Sources de données 32 bits
 
Crée un nouveau DSN "Système" en utilisant le driver "Micrsoft pour Oracle" (je te conseille celui-là dans un premier temps, il est moins buggé que celui d'Oracle)
 
Paramètre le pour utiliser ton TNS que tu viens de créer "mabase" (sans le ".world" ).
Indique le login.
Fait "test". Il te demande le password, indique-le.
Si ça marche, alors normalement tout le reste devrait marcher aussi.
Si ça marche pas, retente avec le drivers "Oracle 8 Drivers" (pas celui de Microsof), puis avec celui 16 bits que tu as installé mais j'y crois pas trop à celui-là...
 
Si aucune de ses techniques ne marche, cherche sur le net un exemple de TNS, ou demande à quelqu'un de t'en poster un, moi j'en ai pas sous la main... Normalement, le drivers ODBC au moins devrait marcher.

Reply

Marsh Posté le 03-09-2004 à 19:57:17    

PS: sinon, si tu as installé SQL+ avec le client Oracle, dès que tu as changé ton TNSNAMES.ORA, lace SQL+ histoire de vérifier que ton TNS marche correctement.
 
Dans le TNSNAMES.ORA, le suffixe ".WORLD" est obligatoire. Par contre il ne faut pas l'utiliser lorsque tu te connecte. Je sais pas trop ce que c'est, en tout cas au taff ça marche comme ça, donc faut pas chercher à comprendre ;)

Reply

Marsh Posté le 03-09-2004 à 19:59:51    

PS²: Etant donné le niveau que tu sembles avoir,je dirais que ça doit être la première fois que tu installes ces outils. Oracle étant une véritable merde à installer (le client autant que le serveur), je te conseille de te faire épauler d'un DBA pour faire le setup si tu n'y arrives pas. Parceque clairement, comme je dis souvent "ça s'invente pas". Et en plus c'est super mal documenté (à chaque fois que j'ai eu ce genre de merde, j'ai passé des soirées entières à chercher dans les docs avant de trouver un semblant de réponse, qui, à la 36° interprétation différente, fini par te donner la réponse ;)

Reply

Marsh Posté le 06-09-2004 à 09:59:22    

Salut!
 
Tout d'abord, encore merci pour le temps que tu consacres a m'aider a resoudre mon probleme...
 
Je te rassure tout de suite, j'avais deja configure les fichiers .ORA pour me connecter a la DB et tout fonctionne tres bien.
 
Ceci dit, pour faire fonctionner mon appli 16 bits, je dois modifier un fichier afin d'ajouter a la liste des connections possibles la nouvelle Database (Oracle) a laquelle je souhaite pouvoir me connecter par l'intermediaire de l'appli:
DB_ID User_ID Passwd DB_Name Connection_Name
ou:
DB_ID refere a la ligne du win.ini que je suis sensee ajouter
DB_Name: Nom de la Database sur le serveur
Connection_Name: le nom que je veux afficher dans le menu deroulant de l'appli pour pouvoir se connecter a la DB
 
En Bref, je veux bien supprimer du win.ini la fameuse ligne que je parlais de rajouter vendredi mais dans ce cas, je mets koi a la place du DB_ID? le nom de mon nouveau DSN System? A tout hasard j'ai essaye et voila l'erreur obtenue:
"DNB-Library Error :
 Unable to connect: SQL Server is unavailable or does not exist. Access denied. ConnectionOpen(sopen())."
 
Je doute de m'en sortir un jour... mais j'y crois encore :)

Reply

Marsh Posté le 06-09-2004 à 10:31:05    

Logiquement, je pense que c'est ce que tu as fait qui fonctionne.
Désinstalle le drivers 16 bits, et n'utilise que le 32 bits. Pour moi, ça ne devrait pas impacter l'application.
 
Si tu ne t'en sors pas, je crois que tu es bon pour contacter la boîte qui a écrit le soft afin d'obtenir une procédure mise à jour d'installation, parceque là je ne vois pas trop... En tout cas, faire tourner des drivers 16 bits sous Windows 2000 me semble très étrange, et encore plus se connecter à une base 8i avec des drivers pour la 7...

Reply

Marsh Posté le 06-09-2004 à 10:34:57    

Bouhouhou ca marche pas ! :(
 
Bon... tant pis...
J'ai deja desinstalle le driver 16 bits... et... la boite qui a fait l'appli c'est justement ma boite...
Merci quand meme :)

Reply

Marsh Posté le 06-09-2004 à 10:34:57   

Reply

Marsh Posté le 06-09-2004 à 12:14:58    

Arf. Et plus personne sur le projet sait comment faire pour passer l'appli à 2K ?
 
Désolé de ne pas pouvoir t'aider plus, je n'ai jamais développé en 16 bits (enfin, si, même en 8 bits, mais c'était en Basic et ct quand j'étais petit, je savais pas ce que c'était qu'Oracle ;))
 
Je pense que si vous êtes donc les owner du produit, vous aurez aussi bien que de vérifier la partie connection à la base, qui à recompiler cette partie avec une interface 32 bits pour se connecter à la BDD.
 
PS: Ceci dit, le message que tu as me semble plus un problème de TNS ou login/pass

Reply

Marsh Posté le 06-09-2004 à 12:15:25    

plshlp a écrit :

Bouhouhou ca marche pas !


Je t'avais prévenu avec ma citation perso :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed