2009-10-26 8 views
27

J'ai une application Web que nous avons déployée dans une production. Nous avons des serveurs séparés pour le WEB et la base de données. Le DB est SQL Server 2008 et il est hébergé sur un serveur complètement différent et nous avons installé notre IIS sur un serveur différent.Impossible de charger le fichier ou l'assemblage 'Microsoft.SqlServer.Types

Sur mon serveur Web, nous avons une erreur de suivi. Impossible de charger le fichier ou d'assemblage « Microsoft.SqlServer.Types, Version = 10.0.0.0, Culture = neutral, PublicKeyToken = 89845dcd8080cc91 » ou une de ses dépendances

J'ai vérifié le GAC sur le serveur Web et il lui manquait ce DLL particulière. Cela a du sens pour moi car c'est un serveur web et il n'est pas supposé avoir des assemblys liés à SQLServer.

Notre application a très bien fonctionné dans notre environnement de développement, de test et de transfert car notre IIS et notre base de données étaient installés sur le même serveur.

Comment résoudre ce problème en production? Je peux, en installant SQL Server 2008 sur le serveur web. Mais cela n'a aucun sens pour moi. C'est un serveur web - pourquoi devrais-je installer SQL Server 2008 sur cette machine?

+2

SVI- Vous avez des dépendances sur les types SQL dans votre application, vous devez donc avoir ces assemblées sur une boîte à laquelle vous installerez votre application. C'est pourquoi vous devez installer ces bits SQL sur votre serveur Web. Le Feature Pack est fourni afin que vous puissiez installer des assemblys SQL de support sans installer le serveur complet. –

+0

Yup. Je comprends maintenant. Merci pour l'information et l'explication. – SVI

Répondre

14

Microsoft SQL Server 2008 Feature Pack

Brève description:

Télécharger Microsoft SQL Server 2008 Feature Pack, une collection d'installation autonome paquets qui offrent une valeur supplémentaire pour SQL Server 2008. Plus précisément, les types de données CLR.

Note: Feature Pack Mise à jour lien Jan 2013

+0

Dave, J'ai de la difficulté à comprendre pourquoi devrais-je installer un serveur SQL associé à des composants sur mon serveur Web? – SVI

+3

Parce que vous souhaitez utiliser les types spatiaux SQL Server. – Cornelius

+1

Dave, je vois d'où vous venez .. Voulez-vous dire, je devrais installer Microsoft SQL Server System Types CLR DESCRIPTION: Le package SQL Server System CLR Types contient les composants qui implémentent les nouveaux types de géométrie, de géographie et hierarchyid dans SQL Server 2008. Ce composant peut être installé séparément du serveur pour permettre aux applications client d'utiliser ces types en dehors du serveur. – SVI

15

visionneuse de rapports ont besoin de cette classe

Microsoft.ReportViewer.Common.dll 
Microsoft.ReportViewer.ProcessingObjectModel.dll 
Microsoft.ReportViewer.WebForms.dll 
Microsoft.ReportViewer.WinForms.dll 
Microsoft.ReportViewer.DataVisualization.dll 
Microsoft.SqlServer.Types.dll 
+0

Ceci est la bonne réponse – GuidoG

1

j'ai pu ignorer cette erreur en appuyant simplement sur le bouton « Continuer » lorsque l'erreur est apparue. Il n'a pas semblé affecter le fonctionnement du serveur 2008 R2 une fois l'installation terminée. Je cours Windows 7 64 bits.

0

S'il vous plaît voir ce post forum: https://social.technet.microsoft.com/Forums/sharepoint/en-US/7e673dde-dfca-4b1a-a840-025a2ae9ee58/reportviewer-msi-is-missing-microsoftsqlservertypesdll?forum=sqlreportingservices,

la première réponse. Vous pouvez réellement télécharger le fichier .dlls d'exécution de l'afficheur de rapports redistribuable et l'ajouter à votre projet afin qu'il soit déployé sur des ordinateurs qui ne possèdent pas ces fichiers.

Et le lien pour télécharger réellement le moteur d'exécution pour VS 2012: http://www.microsoft.com/EN-US/download/confirmation.aspx?id=35747

PS vous pouvez également les télécharger via NuGet recherche Juste pour « MICROSOFT® RAPPORT VIEWER 2012 RUNTIME » et ils (ce qui est ce que je l'ai fait.) devrait venir - le moyen le plus facile jusqu'à présent

6

La meilleure solution serait d'installer le package Microsoft.SqlServer.Types NuGet.

PM> Install-Package Microsoft.SqlServer.Types 

Et suivez les instructions de son fichier readme.htm

+0

en plus - une fois que le paquet nuget est installé, vous pouvez vous assurer que la propriété de référence dll est définie sur 'copy local = true' –

-2

Pour moi Fermez l'application et rouvrez résoudre le problème

Questions connexes