Bonjour à tous.
Je souhaite accéder à une base access sur un PC Linux en Red Hat 3. Sur ce PC, il y a donc mon fichier *.mdb et Oracle version 9.2.0
Après plusieurs petites recherches, j'ai trouvé le bon driver pour lire mon fichier *.mdb (j'ai choisi libmdbodbc.so).
J'ai ensuite fouillé sur internet pour trouver un peu d'aide.
J'ai bien créé mon DSN, dont voici les détails :
Pour mon fichier odbcinst.ini :
et pour mon fichier odbc.ini :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [MicrosoftAccess] Description = ODBC for Microsoft Access Driver = /usr/lib/libmdbodbc.so Setup = /usr/lib/libmdbodbc.so FileUsage = 1
Donc bon, j'essaie de voir si mon DSN est bien configuré, OpenOffice.org le voit, j'me dis : "Chouette, ça doit être bon !"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 [DSN] Description = MicrosoftAccess Base Driver = MicrosoftAccess Database = /home/users/data/mestests/base.mdb Servername = localhost
Ben non, c'est pas fini. Parce que je dois aller lire ma base par programmation...
Donc je me dis, essayons les "heterogeneous services" d'Oracle, ça doit être bien tout ça.
Donc je configure mes p'tits fichiers qui vont bien.
Mon fichier "inithsdsn.ora" localisé dans $ORACLE_HOME/admin
Mon fichier "listener.ora" placé dans $ORACLE_HOME/network/admin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4HS_FDS_CONNECT_INFO = DSN HS_FDS_TRACE_LEVEL = 0 HS_DB_NAME = hsdsn HS_FDS_SHAREABLE_NAME = /usr/lib/libmdbodbc.so
et mon fichier "tnsnames.ora" placé aussi dans $ORACLE_HOME/network/admin
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 SID_LIST_LISTENER= (SID_LIST= (SID_DESC= (PROGRAM=hsodbc) (SID_NAME=DSN) (ORACLE_HOME=/home/oracle/product/9.2.0) ) )
Une fois tout ça effectué, je suis contente normalement. J'me dis, ça devrait marcher...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 hsdsn = (DESCRIPTION= (ADDRESS= (PROTOCOL=tcp) (HOST=localhost) (PORT=1521) ) (CONNECT_DATA= (SERVICE_NAME=DSN) ) (HS=OK) )
Bon je mets les droits sur le fichier "listener.log" sinon ça marche pas.
Et là, je vois aucun service quand je lance la commande "lsnrctl start".
Voilà ce que j'obtiens (oh joie!) :
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 LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 07-MAY-2007 13:54:43 Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved. Starting /home/oracle/product/9.2.0/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 9.2.0.4.0 - Production System parameter file is /home/oracle/product/9.2.0/network/admin/listener.ora Log messages written to /home/oracle/product/9.2.0/network/log/listener.log Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521))) Connecting to (ADDRESS=(PROTOCOL=tcp)(PORT=1521)) STATUS of the LISTENER ------------------------ Alias LISTENER Version TNSLSNR for Linux: Version 9.2.0.4.0 - Production Start Date 07-MAY-2007 13:54:43 Uptime 0 days 0 hr. 0 min. 0 sec Trace Level off Security OFF SNMP OFF Listener Parameter File /home/oracle/product/9.2.0/network/admin/listener.ora Listener Log File /home/oracle/product/9.2.0/network/log/listener.log Listening Endpoints Summary... (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521))) The listener supports no services The command completed successfully![]()
Bon alors qu'est-ce que j'ai mal fait ? Comment je peux créer le lien entre ma base de données access base.mdb et ce truc ? Comment je peux faire des requêtes là-dedans ?
Please, help me !![]()
Partager