[SQL Server] Problème avec serveur lié Access distant
cs_oluha
Messages postés71Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention 5 février 2009
-
29 avril 2005 à 14:02
cs_medee
Messages postés10Date d'inscriptiondimanche 27 octobre 2002StatutMembreDernière intervention14 mars 2008
-
2 mai 2006 à 15:05
Bonjour
J'ai besoin de transférer une table d'une base Access vers SQL Server dans mon programme en Delphi (et vis versa). Comme le BatchMove déconne quand j'ai un grand nombre d'enregistrements dans ma table, j'ai trouvé la solution de déclarer ma base Access en serveur lié à l'aide d'une requête.
EXEC sp_addlinkedserver
@server = 'serveur_mdb_xxxx',
@provider = 'Microsoft.Jet.OLEDB.4.0',
@srvproduct = 'OLE DB Provider for Jet',
@datasrc = '\\chaplais\test.mdb',
@catalog = null
GO
EXEC sp_addlinkedsrvlogin 'serveur_mdb_xxxx', 'false'
go
SELECT *
into presse.dbo.importZ FROM OPENQUERY(serveur_mdb_xxxx, 'SELECT * FROM test')
go
Quand je bosse sur SQL Server en local et que la base access est aussi en local, aucun soucis, ca fonctionne nickel.
Par contre, quand ma base Access est sur un autre poste que le serveur SQL (ce qui sera la cas 100% du temps avec mon prog) et que je mets le chemin réseau ca ne fonctionne plus du tout et j'ai le message :
"Serveur : Msg 7399, Niveau 16, État 1, Ligne 1
Le fournisseur OLE DB 'Microsoft.Jet.OLEDB.4.0' rapporte une erreur.
[OLE/DB provider returned message: Le moteur de la base de données Microsoft Jet ne peut pas ouvrir le fichier '\\Pc2\c\test.mdb'. Il est déjà ouvert en mode exclusif par un autre utilisateur, ou vous devez avoir l'autorisation de visualiser ses données.]
Trace de l'erreur OLE DB [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005: ]."
J'ai beau chercher sur le net et dans l'aide SQL Server, je ne trouve pas de solution. Il n'y a aucune restriction sur ma base Access et elle est en mode "partagé". De plus elle n'est pas utilisée par quelqu'un d'autre. Quand je crée le serveur lié distant avec les requêtes, je le vois bien dans entreprise manager ainsi que les tables, mais aucune requête dessus ne fontionne !
Je désespère Si quelqu'un a une idée sur mon problème ou voit une autre solution ca m'interresse !
cs_oluha
Messages postés71Date d'inscriptionvendredi 19 mars 2004StatutMembreDernière intervention 5 février 2009 29 avril 2005 à 14:08
Je viens de me rendre compte que j'ai fais une erreur de copié-collé : le chemin dans le message d'erreur est bien celui que je met dans le requête de création du serveur lié.