OVH Cloud OVH Cloud

perl -> ODBC -> access -> sql server .....

1 réponse
Avatar
Eric
Bonjour et merci de me lire,


Voilà j'ai beau chercher mais je ne trouve pas de réponse (c'est rare) dans
les forums. Mon problème est le suivant.


J'ai une machine A (appellons la MA), windows server pour info, sur
laquelle se trouve une base de donnée access (disons DBAC). Cette base DBAC
a des tables liées à une base SQL Server (disons DBSS) sur une machine B
(appellons la MB) tout aussi windows que la MA.


J'ai installé les 2 drivers ODBC, celui vers DBAC (appellons le DRDBAC) et
celui vers DBSS (DRDBSS) sur MA.


J'ai écrit un petit programme Perl (pgm.pl) qui utilise le package
WIN32::ODBC fournit avec la distrib Activestate.


Ce perl est en fait un perl prévu pour être lancé comme un CGI.


Si j'exécute pgm .pl directement sur MA avec un bête select * j'obtient
bien le contenu de ma table


Par contre, si j'execute mon pgm.pl à travers mon navigateur préféré, je
récupère bine le contenu des tables non liées, par contre les tables liées
ne semble pas accessibles comme si le driver n'était pas trouvé. Le msg
obtenu dans ce cas est :


-2001[Microsoft][ODBC Microsoft Access Driver] ODBC--connection to 'DRDBSS'
failed.10


S'agit d'un problème de sécurité ? Configuration du/des driver(s) ? autres
?


En complément, je ne peux rien toucher la machine B et pratiquement rien
que la machine A sur laquelle j'ai juste accès aux disques partagés en
théorie.


Si vous avez une idée je suis preneur


Merci d'avance et merci de m'avoir lu.


Cordialement
Eric

1 réponse

Avatar
Paul Gaborit
À (at) Tue, 26 Oct 2004 22:30:27 +0200,
"Eric" écrivait (wrote):
J'ai une machine A (appellons la MA), windows server pour info, sur
laquelle se trouve une base de donnée access (disons DBAC). Cette base DBAC
a des tables liées à une base SQL Server (disons DBSS) sur une machine B
(appellons la MB) tout aussi windows que la MA.


Quelle(s) version(s) de Windows ?

J'ai installé les 2 drivers ODBC, celui vers DBAC (appellons le DRDBAC) et
celui vers DBSS (DRDBSS) sur MA.

J'ai écrit un petit programme Perl (pgm.pl) qui utilise le package
WIN32::ODBC fournit avec la distrib Activestate.

Ce perl est en fait un perl prévu pour être lancé comme un CGI.

Si j'exécute pgm .pl directement sur MA avec un bête select * j'obtient
bien le contenu de ma table

Par contre, si j'execute mon pgm.pl à travers mon navigateur préféré, je
récupère bine le contenu des tables non liées, par contre les tables liées
ne semble pas accessibles comme si le driver n'était pas trouvé. Le msg
obtenu dans ce cas est :

-2001[Microsoft][ODBC Microsoft Access Driver] ODBC--connection to 'DRDBSS'
failed.10


À vue de nez, je dirais que c'est un problème d'identification : le serveur
Web (lequel d'ailleurs ?) tourne sous une identité qui n'est pas la vôtre. Il
n'a donc pas les mêmes droits que vous lors de l'accès à la machine B.

Mais ce n'est peut-être pas ça...


--
Paul Gaborit - <http://www.enstimac.fr/~gaborit/>
Perl en français - <http://www.enstimac.fr/Perl/>