J'essaye d'écrire un site Web simple (ASP.NET v4), qui appellera la recherche de Windows, trouver un dossier spécifique et le renvoyer à l'utilisateur. Je l'ai mis en place ce qui suit comme un exemple: il appelle le service de recherche de Windows sur « remoteserver », et renvoie le chemin de « somefile.txt »:Le code ASP.NET OLEDB casse quand déployé sur IIS7
OleDbConnection conn = new OleDbConnection();
conn.ConnectionString = "Provider=Search.CollatorDSO;Extended Properties='Application=Windows';";
OleDbCommand cmd = conn.CreateCommand();
cmd.CommandText = string.Format(
"SELECT System.ItemPathDisplay, System.ItemType FROM " +
" sytelhp.systemindex WHERE SCOPE='file://remoteserver/archive' AND CONTAINS(\"System.FileName\", " +
" '\"*{0}*\"')", "somefile.txt");
conn.Open();
OleDbDataReader rdr = cmd.ExecuteReader();
string result=rdr[0].ToString();
.. et cela fonctionne très bien sur Visual Studio 2010 "result" contient le chemin d'accès au fichier. Cependant, si je le déployer sur le serveur IIS7 local (en cours d'exécution sur le serveur 2008), je reçois cette erreur:
The parameter is incorrect.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.OleDb.OleDbException: The parameter is incorrect.
Je suis à une perte où aller. Que dois-je faire pour IIS7, ou le code, ou les deux pour le faire fonctionner? Encore une fois, cela fonctionne bien dans VS2010 (testé sur Windows 7 et Windows 2008 Server).
Qu'est-ce que *** sytelhp.systemindex ***? – Kiquenet
C'était le nom du serveur exécutant le code. C'était il ya 6 ans :) – KenD