2012-10-26 60 views
2
  • 操作系統:Microsoft Windows NT的5.2.3790 Service Pack 2的版本:2.0.50727.42

這樣做的:創建表。 ..無法加載文件或程序集「Microsoft.SqlServer.Smo,版本10.0.0 =

建議:system.m.FileNotFoundexception:無法加載文件或程序集 'microsoft.sqlserver.smo,版本= 10.0.0.0,文化=中性文件名: ' microsoft.sqlserver.smo,版本= 10.0.0.0,文化=中立, PublicKeyToken = 89845dcd8080cc91'在 claimsure.Forml.Runsqlscript(串CONNSTRING,StreamReader的SR)在 myapp.Forml.bw_Dowork(對象發件人,DoworkeventArgs E)「MN:裝配 結合日誌記錄被關閉。若要啓用程序集綁定失敗 日誌記錄,請將註冊表值 (NKLm \ software \ microsoft \ Fusion!enableLog](DwoRD)設置爲1.注意: 會造成一些與程序集綁定失敗 日誌記錄相關的性能損失。關閉,刪除註冊表值 (NKLm \軟件\微軟\融合!enableLog)。

與SQL Server在Windows 2003服務器上運行我的應用程序時,我得到上述錯誤2005

我知道有一種解決方案可以從http://www.microsoft.com/en-us/download/details.aspx?id=24793下載SQLServer2005_XMO

我已經這樣做了,但安裝後需要重新啓動服務器,這是暫時不可行的。

我需要使用服務器對象。

using Microsoft.SqlServer.Management.Smo; 
using Microsoft.SqlServer.Management.Common; 

     using (SqlConnection connection = new SqlConnection(connString)) 
     { 
      Server server = new Server(new ServerConnection(connection)); 
      server.ConnectionContext.StatementTimeout = 2400; 
      server.ConnectionContext.ExecuteNonQuery(sqlString); 

     } 

是否可以將dll加載到與我的應用程序相同的目錄中,並從代碼中引用它?

謝謝。

編輯:添加了完整的錯誤

+0

什麼是完整的錯誤信息?該錯誤消息指出它無法加載程序集,但它也會聲明*爲什麼*。你能提供嗎? – Arran

+1

SMO版本10.0 =用於SQL Server 2008的SMO - 由於您擁有SQL Server ** 2005 **,因此您可能引用了錯誤的SMO程序集...... –

+0

這必須適用於不同的SQL版本 - 2005 - > 2008。已經測試過2008服務器,它的工作,現在測試2005年,並獲得上述。 - 不確定如何完成此操作。使用語句是否會提取我在開發計算機上的版本? – k1f1

回答

0

通過建立一個MSI安裝程序,幷包括所有的DLL的需要解決了這個。 感謝您的指點。

相關問題