Bonjour,
je developpe une applications (en pseudo VB.net) avec une base de données sous SQL serveur 2008.
J'ai un fichier excel (.xlsx) que j'ai défini comme serveur lié afin de facilité son utilisation.
Sous SQL server j'exploite, sans problèmes, mon fichier à l'aide de requêtes telles que celle-ci :
SELECT * FROM mon_serveur_lié...ma_table
Cependant sous mon application je me connecte à mon serveur et éffectue le script suivant :
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
| Dim Requete as string;
Dim MyCommand as System.Data.OLEDB.OLEDBCommand;
Dim MyReader As System.Data.OLEDB.OLEDBDataReader;
Dim OLEDBConnectString as string ;
Dim MyOLEDBConnection As System.Data.OleDb.OleDbConnection;
Dim Index as Integer;
OLEDBConnectString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source= C:\Preparateur.xlsx ;Extended Properties="+StringChar(34)+"Excel 12.0 Xml;HDR=YES"+StringChar(34)+";";
MyOLEDBConnection= New System.Data.OleDb.OleDbConnection(OLEDBConnectString);
MyOLEDBConnection.Open();
'j'ai essayé les requêtes suivantes mais je reste bloqué lors de mon ExecuteReader
Requete="SELECT count (nom_colonne) FROM mon_serveur_lié...ma_table" ;
'ou
Requete="SELECT * FROM openquery (mon_serveur_lié , 'SELECT count (nom_colonne) FROM ma_table')" ;
'ou la même chose mais avec la requête opendatasource
MyCommand=MyOLEDBConnection.CreateCommand();
MyCommand.CommandText = Requete;
MyReader = MyCommand.ExecuteReader();
MyReader.Read();
Index=MyReader.Getvalue(0);
MyReader.close();
MyOLEDBConnection.Close(); |
Je ne sais pas pourquoi je n'arrive pa à executer mes requête depuis mon application alors que sous SQL server elles marchent...
Pourquoi lorsqu'il ne s'agit pas d'un serveur lié il n'y a pas de problème...
que dois je faire ??!
Partager