se connecter a une base Oracle avec DBI [PERL] - Perl - Programmation
Marsh Posté le 07-05-2003 à 20:52:24
salut
va voir la : http://ppm.activestate.com/PPMPack [...] y/Windows/
ensuite j'ai trouvé ce petit tuto :
Citation : Exemple d?installation avec DBI : |
Marsh Posté le 09-05-2003 à 09:00:19
Bah oui mais je ne vois pas de DBD::Oracle.zip dns cette liste !
Marsh Posté le 09-05-2003 à 09:26:59
bezot3 a écrit : Bah oui mais je ne vois pas de DBD::Oracle.zip dns cette liste ! |
Code :
|
voili voilou !
Marsh Posté le 09-05-2003 à 10:35:38
dslé aricoh, j'ai récupéré ta doc
Marsh Posté le 09-05-2003 à 10:37:13
SteF_DOBERMANN a écrit : dslé aricoh, j'ai récupéré ta doc |
spa grave, y a pas de copyright dessus
Le pire, c'est que cette doc, je l'avais pondu au départ justement pour Perl et Oracle et quand je l'ai reproduite dans un topic ici, je me suis fait suer à renommer tout ce qui concernait DBD-Oracle par DBD-Mysql, ah là là
Marsh Posté le 09-05-2003 à 20:44:06
oui j'ai bien compris comment installer le DBD::oracle.zip mais la question est : ou le recuperer ? Car sur l'adresse donné precedement, y'a bien le .zip de mysql mais pas celui d'oracle.
Marsh Posté le 12-05-2003 à 08:18:14
bezot3 a écrit : Plus personne pour m'aider ??? |
En partant de ces principes :
- tu es sous windows
- tu utilises une version Perl de chez ActiveState
Perl 5.6.1 : http://ppm.activestate.com/PPMPack [...] ilds-only/
Perl 5.8.0 : http://ppm.activestate.com/PPMPack [...] y/Windows/
Comme tu l'as déjà signalé, je n'ai pas vu de package DBD-Oracle pour la 5.8.0 de Perl. Par contre, vu qu'en ce moment je bosse en Perl 5.8.0 avec une BDD MySql, et que je n'ai absolument pas eu besoin d'autre chose que de DBI, à voir si le module DBI pour la 5.8.0 n'intègre pas en interne les méthodes pour se connecter à Oracle tout seul comme un grand. Vu qu'il le fait sans soucis avec MySql ...
Marsh Posté le 12-05-2003 à 09:27:33
oui c'est exactement ca !
Mais comment verifier que le module dbi contienent bien les drivers oracle ?
Marsh Posté le 12-05-2003 à 09:30:50
Essaie ce petit script :
Code :
|
Source : http://mysql.turbolift.com/DBD_3.21.X.php3
Ca va te sortir la liste de tous les drivers disponibles sur ta machine. Dis-nous ce que donne le print.
Marsh Posté le 12-05-2003 à 09:37:35
voila ce que ca me retourne :
ExampleP dispo
Proxy dispo
Donc oracle n'est bien pas dispo.
Il faut donc installer le module oracle. Mais il ne semble pas disponible...
ME voila bien moi !
Marsh Posté le 12-05-2003 à 09:43:17
bezot3 a écrit : Donc oracle n'est bien pas dispo. |
Zut !
Dis-moi, tu utilises un Perl 5.8.0 de chez ActiveState ou bien celui d'Indigo ?
Chez ActiveState, en fouillant un peu ici (http://ppm.activestate.com/PPMPackages/zips/8xx-builds-only/Windows/), je suis tombé sur le module 'DBIx-OracleLogin.zip' dont la (courte) doc dis ceci : takes a string and splits out individual login information (user id, Oracle sid, and password) to be used in a DBI-connect() statement when connecting to an Oracle database.
J'ai pas l'impression que ça existait du temps de la 5.6.1
Marsh Posté le 12-05-2003 à 09:44:20
bezot3 a écrit : Donc oracle n'est bien pas dispo. |
Ca coute rien de poser une question conne mais le service d'Oracle était actif lorsque tu as fait le test sur les drivers dispos ?
Marsh Posté le 12-05-2003 à 09:52:23
Aricoh a écrit : |
oui j'utilise bien activerState Perl 5.8.
oui j'ai vu le module oraleLogin mais ca ne doit pas suffir pour une connexion.
Oui le service Oracle est bien demarré !
J4aurais aimé que ce soit ca !
Marsh Posté le 12-05-2003 à 10:13:14
Sans trop y croire, essaie ceci pour voir :
Code :
|
pour $Bdd, le nom indiqué dans mon exemple est celui que j'avais pour ma BDD Oracle sous Windows quand je bossais dessus avec la Perl 5.6.1. Si la valeur donnée pour $Bdd ne fonctionne pas, essaie les valeurs suivantes :
Code :
|
Marsh Posté le 12-05-2003 à 10:24:39
quoique je fasse j'ai ca :
install_driver(oracle) failed: Can't locate DBD/oracle.pm in @INC (@INC contains
: EPerl/lib EPerl/site/lib .) at (eval 1) line 3.
Perhaps the DBD::oracle perl module hasn't been fully installed,
or perhaps the capitalisation of 'oracle' isn't right.
Available drivers: ExampleP, Proxy.
at testConnexion.pl line 13
Marsh Posté le 12-05-2003 à 10:28:35
Elle a l'air bien chiante, la 5.8.0 avec Oracle
Là, j'ai épuisé toutes les idées que j'avais à la caboche. Et sinon, quand tu lances le SQL+, t'arrives sans aucun blème à te connecter à Oracle, utiliser la BDD, poser des requètes ???
Marsh Posté le 12-05-2003 à 10:50:11
Ah oui ca sans probleme le sqlplus
Je devrais peut etre essayé en 5.6.0 ? Mais le module n'a pas l'air plus disponible ...
Marsh Posté le 12-05-2003 à 10:56:21
bezot3 a écrit : Je devrais peut etre essayé en 5.6.0 ? Mais le module n'a pas l'air plus disponible ... |
Tu as mal regardé, va voir dans la section 6xxx, y a 2 zip, DBD-Oracle.zip et DBD-Oracle8.zip. J'utilisais DBD-Oracle.zip avec ma Personnal 7.3.4.0.0.0i.
Sont un peu nazes de sortir une version 5.8.0 ne proposant plus (apparemment !) de gestion automatique avec Oracle !
Marsh Posté le 12-05-2003 à 11:16:40
Ah oui il est dispo en .zip pour la 5.6
Il pourrait passer ce .zip sur la 5.8 ou il faut que je reinstalle la 5.6 ?
Comment installe t-on un module .zip ?
Marsh Posté le 12-05-2003 à 11:22:31
bezot3 a écrit : Il pourrait passer ce .zip sur la 5.8 ou il faut que je reinstalle la 5.6 ? |
J'éviterais une telle bidouille à ta place, le module DBI de la 5.8.0 étant différent de celui pour la 5.6.1, je me lancerais pas dans un truc aussi hasardeux
bezot3 a écrit : Comment installe t-on un module .zip ? |
Tout est dans ce topic déjà, Stef_Doberman en a parlé, moi aussi, tu as toute la procédure
Ouaip, je pense que le mieux va être d'installer la 5.6.1, tu auras moins d'embrouilles qu'avec la 5.8.0
Marsh Posté le 12-05-2003 à 11:30:18
Petit complément d'infos pour t'aider.
Tout d'abord, tu vires la 5.8.0 que tu remplaces par la version 5.6.1 (ActiveState aussi). Lors de l'installation, assure-toi que les path de ton Windows seront mis à jour avec les chemins d'accès à l'endroit où va s'installer Perl.
Ensuite, ouvre une console Ms-Dos et suis cette procédure ci-dessous :
Code :
|
PPM est un shell interne à Perl, c'est un utilitaire excellent pour installer les packages que tu veux, il va les chopper tout seul sur le net, les installe, met tout bien à jour comme il faut.
Avec la 5.6.1, l'installation successive de DBI et de DBD-Oracle est une obligation (et dans cet ordre car DBD-Oracle dépend en partie de DBI).
Avec tout ça, tu devrais pouvoir t'en sortir maintenant, croise les doigts hein !
Marsh Posté le 12-05-2003 à 11:49:52
Ca marche nickel avec la version 5.6 !!
Ouf !
ppm instal DBI
et ensuite ppm install DBD-Oracle.ppd (car ce module n'est pas dispo autrement qu'en zip ...)
Bon reste plus qu'a faire la meme chose sous unix...
Merci a toi !
Marsh Posté le 12-05-2003 à 11:51:25
bezot3 a écrit : Merci a toi ! |
de rien, ça roule
Marsh Posté le 03-09-2009 à 18:41:52
dbi connect('oracle','delphi',...) failed
error ocinisenvironmentvariableget(oci_nls_charset_id)
check oracle_home and nls setting etc
erreur survenue lors de l'execution de la connexion
Marsh Posté le 07-05-2003 à 16:48:33
Voulant me connecter a une base Oracle avec Perl (activePerl 5.8), j'ai installé le module DBI avec ppm. Pas de probleme. Mais je crois avoir compris que je dois maintenant installer le module DBD::Oracle. Or ppm ne me le trouve pas, comment proceder pour l'installer ?
Merci