Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Connexion réseau à une base Access [ Base de données / Autre ] (Lucinda000)

mardi 24 avril 2007 à 11:09:23 | Connexion réseau à une base Access

Lucinda000

Bonjour,

Je vous expose mon problème. J'ai deux PC : un Linux et un Windows. Sur le PC windows, j'ai une base Access que je souhaite exploiter. Ne pouvant rien installer sur ce PC (du moins c'est très préférable) je me suis intéressée à une connexion ODBC. J'ai donc téléchargé pour mon PC Linux la librairie adaptée (libsqlod.so) et j'ai écrit un ch'tit bout de programme (trouvé sur le net) qui est censé juste se connecter à la base de données.

Sauf que... c'est pour une connexion à une base de données sur le même PC visiblement.

Alors ma question c'est : auriez-vous une idée de ce que je pourrais utiliser comme fonction de cette librairie pour réussir à me connecter à ma base Access qui est sur l'autre PC (puisque mon programme en C est sur le PC Linux) ?

Merci par avance.

mercredi 25 avril 2007 à 11:51:47 | Re : Connexion réseau à une base Access

Lucinda000

Bon, j'ai un peu avancé depuis hier, et je vois que personne ne sait me répondre visiblement ....

J'aimerai pourtant bien y arriver.

J'ai trouvé sous Linux la même interface que sous Windows (panneau de configuration > outils d'administration > sources de données) pour pouvoir créer un DSN (youpi !). Sauf que ... forcément, j'arrive pas à la configurer. On me dit de partout de modifier le fichier odbc.ini mais les seuls exemples sont jamais avec une base en réseau...

Quelqu'un aurait-il la solution ?

jeudi 26 avril 2007 à 19:58:51 | Re : Connexion réseau à une base Access

racpp

Administrateur CodeS-SourceS
Salut,
Sous Windows, pour accéder à une base de données Access en réseau, il suffit de partager le dossier contenant cette base. Le chemin à spécifier pour y accéder contient donc le nom du serveur suivi de celui du dossier avec le nom du fichier mdb. Je n'ai jamais essayé avec Linux mais il est probable que ça fonctionne.

vendredi 27 avril 2007 à 09:32:29 | Re : Connexion réseau à une base Access

Lucinda000

Non ce n'est pas aussi simple pour Linux.

J'ai trouvé le bon driver ODBC pour accéder à une base Access sous Linux (ce ne fut pas facile : j'ai pris la librairie libmdbodbc.so dans le MDBTools de Linux). J'ai donc bien pu voir que si ma base était sur mon PC, j'arrive à voir les tables, et donc par extension, je suppose pouvoir m'en servir.

Par contre, en réseau, je n'arrive toujours pas à configurer mon DSN de telle manière à la lire. Solution éventuelle : la rappatrier systématiquement avant mon traitement (qui doit être automatique). Par contre, je n'ai aucune idée des fonctions utilisables sous C pour me connecter via un programme à cette base et y faire mes requêtes.

Et la commande "smbclient" ne marche pas chez moi. Il me met l'erreur : "NT_ACCESS_DENIED" alors qu'il accepte bien la connexion anonyme... Et puis je ne sais pas trop comment la lancer en automatique... p't-être un shell qui ferait la commande et lancerai mon programme C...

vendredi 27 avril 2007 à 17:10:11 | Re : Connexion réseau à une base Access

Lucinda000

Bon alors j'ai réussi à faire marcher la commande "smbclient" (youpi !)

Par contre, connexion au DSN que j'ai configuré (et qui est viable, puisque testé)... que dalle ! J'comprends pas. J'ai pourtant prix un code sur le net, j'l'ai recoupé avec un autre... Que t'chi !

Est-ce qu'il y aurait parmi vous des gens qui utilisent en C les fonctions des fichiers en-tête sql.h, sqlext.h et sqltypes.h de la librairie libsqlod.so ???

lundi 30 avril 2007 à 09:54:14 | Re : Connexion réseau à une base Access

Lucinda000

Mais euh, personne ne peut m'aider ?

lundi 7 mai 2007 à 14:29:41 | Re : Connexion réseau à une base Access

Lucinda000

J'ai avancé... alors je vais vous montrer ce que j'ai fait, peut-être aurais-je plus de chance : (je reprends depuis le début, pour être plsu claire)

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 :
[MicrosoftAccess]
Description    = ODBC for Microsoft Access
Driver        = /usr/lib/libmdbodbc.so
Setup        = /usr/lib/libmdbodbc.so
FileUsage    = 1


et pour mon fichier odbc.ini :
[DSN]
Description        = MicrosoftAccess Base
Driver        = MicrosoftAccess
Database = /home/users/data/mestests/base.mdb
Servername = localhost



Donc bon, j'essaie de voir si mon DSN est bien configuré, OpenOffice.org le voit, j'me dis : "Chouette, ça doit être bon !"

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
HS_FDS_CONNECT_INFO = DSN
HS_FDS_TRACE_LEVEL = 0
HS_DB_NAME = hsdsn
HS_FDS_SHAREABLE_NAME = /usr/lib/libmdbodbc.so


Mon fichier "listener.ora" placé dans $ORACLE_HOME/network/admin
SID_LIST_LISTENER=
   (SID_LIST=
       (SID_DESC=
      (PROGRAM=hsodbc)
      (SID_NAME=DSN)              
      (ORACLE_HOME=/home/oracle/product/9.2.0)
    )
   )



et mon fichier "tnsnames.ora" placé aussi dans $ORACLE_HOME/network/admin
hsdsn  =
  (DESCRIPTION=
    (ADDRESS=
        (PROTOCOL=tcp)
    (HOST=localhost)
    (PORT=1521)
    )
    (CONNECT_DATA=
        (SERVICE_NAME=DSN)
    )
    (HS=OK)
  )


Une fois tout ça effectué, je suis contente normalement. J'me dis, ça devrait marcher...

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!) :
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 !

lundi 7 mai 2007 à 14:45:20 | Re : Connexion réseau à une base Access

emmatopiak

Salut,

Mouais le seul truc que je peux dire c'est que ça me paraît louche ça
"The listener supports no services"
Est-ce que c'est normal selon toi d'avoir ce message ?

Une autruche ne se cuit pas aux petits lardons.

lundi 7 mai 2007 à 14:52:15 | Re : Connexion réseau à une base Access

Lucinda000

Ben non justement, c'est bien ce que je dis "Et là, je vois aucun service quand je lance la commande "lsnrctl start"."

Je ne comprends pas pourquoi il ne voit aucun service alors que j'ai configuré mes fichiers... Je les ai modifié, en espérant que ça corrige quelque chose, mais non.

Je donne malgré tout ma modification (au cas où ça puisse aider) :
Fichier "listener.ora"
SID_LIST_LISTENER=
   (SID_LIST=
       (SID_DESC=
      (PROGRAM=hsodbc)
      (SID_NAME=hsdsn)              
      (ORACLE_HOME=/home/oracle/product/9.2.0)
    )
   )


Fichier "tnsnames.ora"
hsdsn  =
  (DESCRIPTION=
    (ADDRESS=
        (PROTOCOL=tcp)
    (HOST=localhost)
    (PORT=1521)
    )
    (CONNECT_DATA=
        (SID=hsdsn
)
    )
    (HS=OK)
  )

... Peut-être que ça vient de mon DSN, ou d'un mauvais driver ODBC...

mercredi 9 mai 2007 à 11:16:54 | Re : Connexion réseau à une base Access

Lucinda000

Quelques p'tites nouvelles.

Alors en fait, j'ai le bon driver et j'ai bien configuré mon DSN, parce que j'arrive à me connecter à ma base grâce à un p'tit programme en C

Par contre, j'arrive pas à faire de requête....

Alors est-ce que quelqu'un à une idée ??? Quelqu'un connait la librairie "libodbc.so" ?


1 2

Cette discussion est classé dans : access, base, pc, connexion, linux


Répondre à ce message

Sujets en rapport avec ce message

Connexion base de données Access 2000 [ par curator68 ] Je suis entrain de faire un petit programme à l'aide de Visual C++ 6.0, et j'aimerai accèder à une base de données access 2000 et ses différentes tabl Connexion bdd access distante [ par liandri ] Salut tout le monde !J'ai un projet de faire une appli de news en temps réelle. C'est à dire grâce à une interface client win32 lancé, avoir les news Acces à une base access en C [ par michelc ] BonjourJe souhaite communiquer avec une base access sans passer par l'odbc.Il y a plein d'exemples mais je trouve cela compliqué surtout que je veux t Connexion base access .mdb [ par curator68 ] Salut,Voilà, cela fait un petit bout de temps que j'aimerai apprendre à faire des programmes permettant d'accèder/modifier des bases de données. Mais Base Access 2000 connexion... [ par Clonk ] Bonjour,Je voudrais me connecter à uen base access2000 et faire tout ce uq'on a à faire avec une BDD...j'ai trouvé des sources sur le site, mais pas c connexion à une base de données Access en Visual C++ [ par desquesa ] Bonjour tous le monde,Je suis en stage et j'ai un petit programme à réaliser.En fait je débute totalement en C++.Bref mon programme consiste à mettre connexion à une base mysql sous linux [ par progrima ] bonsoir!!je vouderais réaliser un programme qui : lit des données d'une base access installée sous windows 2003 server et par la suite se connecte à u connexion à une base de données access [ par tortura ] salut tout le monde!je developpe en C++ sur wx-devcpp, veuillez m'indiquer une manière our me connecter sur une base de données access et comment extr Linux et MS Access [ par thedarkkillerz ] Bonjour,Je débute sous linux et j'aimerais savoir s'il y a un moyen (autre qu'avec Mono) de communiquer avec une base de données MS Access en C++, et Probleme de connexion et d'execution de requete sur une base Sql Server [ par foufidou ] Bonjour tout le monde,j'ai fait mes recherches avant de poser la question (j'essai de suivre le rituel) mais j'ai pas trouvé une solution à mon proble


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,608 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.