J'ai créé une application Web asp.net qui utilise SMO avec SQL Server 2008 pour exécuter certains scripts de base de données. Il fait référence à ces assemblées (dans le répertoire C: \ Program Files \ Microsoft SQL Server \ 100 \ SDK dossier \ Assemblées):Impossible de trouver microsoft.sqlserver.batchparser.dll
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Management.Sdk.Sfc
Microsoft.SqlServer.Smo
Le microsoft.sqlserver.batchparser.dll est pas dans ce dossier. Localement (machine 32 bits, IIS7) Je n'ai aucun problème.
Quand je publierai l'application à mon fournisseur d'hébergement (discountasp.net, SQL Server 2008, IIS7, 32bits aussi), je reçois cette erreur:
Could not load file or assembly 'Microsoft.SqlServer.BatchParser, Version=10.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified.
J'ai cherché ma machine locale et je ne peux pas trouve cet assemblage. Cependant, cela fonctionne bien sur cette machine.
L'outil "Rapport de découverte d'installation de Microsoft SQL Server 2008" signale que la version 10.1.2531.0 est installée localement.
Merci
Lorsque j'essaie d'installer SMO, le programme d'installation indique que j'ai déjà installé une version supérieure. Comme je suis capable de référencer Microsoft.SqlServer.Smo de mon projet, je suppose que cela le confirme. –
@Nicolas: oui, vous l'aurez installé localement.Il n'est cependant pas installé sur votre hébergeur, d'où le problème que vous rencontrez. – adrianbanks
L'appel de gacutil/l me montre que batchparser est dans le GAC, mais la boîte de dialogue de références dans VS2010 ne me le montrera pas. Aller manuellement dans le GAC pour extraire l'assembly et il se trouve dans le dossier GAC_32, pas GAC_MSIL. Quoi qu'il en soit, ajouter cela à Reflector montre qu'il a une référence à Microsoft.VisualC .... assez étrange. –