Re bonjour à tous et merci pour la réponse de mikedavem.
Je me connecte donc à ma base correctement mais mon problème persiste.
Je précise encore que j'arrive à faire un SELECT sur mon serveur lié depuis SQL Server mais pas depuis mon application.
Voici mon code simplifié qui plante lors de la requete SELECT.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| Dim OLEDBConnectString as string ;
Dim MyOLEDBConnection As System.Data.OleDb.OleDbConnection;
Dim MyCommand as System.Data.OLEDB.OLEDBCommand;
Dim MyReader As System.Data.OLEDB.OLEDBDataReader;
dim requete as string;
OLEDBConnectString="Provider=SQLNCLI;Password=##;Persist Security Info=True;User ID=sa;Initial Catalog= Suivi ;server=IAS-1; failover partner=IAS-2;";
MyOLEDBConnection= New System.Data.OleDb.OleDbConnection(OLEDBConnectString);
MyOLEDBConnection.Open();
requete="select * from Fichier...Feuille1$";
MyCommand=MyOLEDBConnection.CreateCommand();
MyCommand.CommandText = Requete;
MyReader = MyCommand.ExecuteReader();
MyReader.Read();
MyReader.close();
MyOLEDBConnection.Close(); |
Voici le message d'erreur que j'observe dans la console:
Microsoft SQL Native Client: Impossible d'initialiser l'objet de la source de données du fournisseur OLE DB "Microsoft.ACE.OLEDB.12.0" du serveur lié "Fichier".
Le fournisseur OLE DB "Microsoft.ACE.OLEDB.12.0" du serveur lié "Fichier" a retourné le message "Le moteur de la base de données Microsoft Office Access ne peut pas ouvrir ou écrire sur le fichier «*C:\fichier.xlsx*». Il est déjà ouvert en mode exclusif par un autre utilisateur, ou vous devez avoir l'autorisation de visualiser et d'écrire sur ses données.".
Mon problème semble donc venir de l'authentification de mon application.
Voici ce que je fais lors de la création de mon serveur lié:
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'Fichier',@useself=N'False',@locallogin=NULL,@rmtuser=NULL,@rmtpassword=NULL
Comment supprimer l'authentification à mon serveur lié?
Merci par avance pour votre aide.
Partager