2009-10-26 25 views
27

我有我們在生產中部署的Web應用程序。 我們有單獨的服務器用於WEB和數據庫。數據庫是SQL Server 2008,它託管在完全不同的服務器上,我們將IIS安裝在不同的服務器上。無法加載文件或程序集'Microsoft.SqlServer.Types

在我的網絡服務器上,我們得到以下錯誤。 無法加載文件或程序集「Microsoft.SqlServer.Types,版本= 10.0.0.0,文化=中性公鑰= 89845dcd8080cc91」或一個依賴

我查了GAC在Web服務器上的一個和它缺少這特定的DLL。這對我來說很有意義,因爲它是一個Web服務器,它不應該有與SQLServer相關的程序集。

我們的應用程序在我們的開發,測試和登臺環境中工作得非常好,因爲我們的IIS和數據庫安裝在同一臺服務器上。

如何解決生產中的這個問題?我可以通過在Web服務器上安裝SQL Server 2008。但這對我來說沒有意義。它是一個Web服務器 - 爲什麼我應該在該機器上安裝SQL Server 2008?

+2

SVI-您對SQL類型依賴於你的應用程序,所以你必須有任何盒的組件,以您安裝應用程序。這就是爲什麼您必須將這些SQL位安裝到您的Web服務器。提供了功能包,以便您可以安裝支持的SQL程序集而無需安裝完整的服務器。 – 2009-10-26 17:00:04

+0

是的。我現在明白了。感謝您的信息和解釋。 – SVI 2009-10-26 21:08:51

回答

14

Microsoft SQL Server 2008 Feature Pack

簡要說明:

下載的Microsoft SQL Server 2008功能包,集合獨立安裝的SQL Server 2008的具體的CLR數據類型提供額外的超值套餐。

注:更新功能包的鏈接2013年1月

+0

Dave, 我很難理解爲什麼我應該在我的Web服務器上安裝任何與組件有關的SQL SERVER。 – SVI 2009-10-26 16:35:57

+3

因爲您想使用SQL Server空間類型。 – Cornelius 2011-10-21 14:47:17

+1

Dave,我看到你從哪裏來..你的意思是,我應該安裝Microsoft SQL Server系統CLR類型描述: SQL Server系統CLR Types包包含在SQL Server中實現新幾何,地理和hierarchyid類型的組件該組件可以與服務器分開安裝,以允許客戶端應用程序在服務器外部使用這些類型。 – SVI 2009-10-26 16:40:50

15

報表瀏覽器需要這類

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

這是正確的答案 – GuidoG 2015-01-29 16:29:45

1

我能夠通過簡單地按下了「繼續」按鈕時,錯誤似乎忽略這個錯誤。在安裝完成後,似乎並未影響2008 R2服務器的運行。我正在運行Windows 7 64位。

0

請參見本論壇的帖子:https://social.technet.microsoft.com/Forums/sharepoint/en-US/7e673dde-dfca-4b1a-a840-025a2ae9ee58/reportviewer-msi-is-missing-microsoftsqlservertypesdll?forum=sqlreportingservices

的第一反應。實際上,您可以下載可再發行報告查看器運行時.dll並將其添加到項目中,以便將它們部署到沒有這些文件的計算機上。

和鏈接到實際下載運行時的VS 2012:http://www.microsoft.com/EN-US/download/confirmation.aspx?id=35747

PS,也可以通過下載的NuGet他們只要搜索「MICROSOFT?REPORT VIEWER 2012 RUNTIME」和他們(這是我做的。)應該出現 - 目前最簡單的方法

6

最好的解決方案是安裝Microsoft.SqlServer.Types NuGet包。

PM> Install-Package Microsoft.SqlServer.Types 

並按照自述文件中的說明操作。HTM

+0

另外 - 一旦安裝了nuget軟件包,您可以確保將dll引用屬性設置爲'copy local = true' – 2016-04-04 20:41:45

-2

對我關閉應用程序,然後重新打開解決問題

相關問題