是的,我沒加4個dll文件,在發現:Microsoft.SqlServer.Management.Smo無法找到服務器類
C:\Program Files\Microsoft SQL Server\100\SDK\Assemblies
這是這些:
Microsoft.SqlServer.ConnectionInfo.dll
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.Management.Sdk.Sfc.dll
Microsoft.SqlServer.SqlEnum.dll
而且修改應用程序配置等等它接受的版本的DLL文件有:
<startup useLegacyV2RuntimeActivationPolicy="true">
</startup>
而且從VB.NET進口:
Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common
而且程序識別的每一個字,除了服務器:
Dim fileInfo As New FileInfo(fi.FullName)
Dim script As String = fileInfo.OpenText().ReadToEnd()
Dim connection As New SqlConnection(sqlConnectionString)
Dim server As New Server(New ServerConnection(connection))
server.ConnectionContext.ExecuteNonQuery(script)
它說:
'Type Server is not defined'
因此該計劃失敗。關於發生了什麼的任何想法?我很確定一個相同的場景正在另一臺計算機上測試項目,我不知道爲什麼這不起作用。謝謝。
UPDATE:
我試圖從有這個計劃工作到這裏的計算機帶來的dll文件,幷包含Smo的服務器,所以沒有什麼錯誤。但是當我構建這個程序時,它就像是在運行時或更新過程中更改了dll,因爲Server突然再次被標記爲錯誤,並且Smo不再包含它,爲什麼會發生這種情況?
你只是想從一個文件執行腳本? – christiandev
是的,非常。 – user1676874
執行腳本時SMO是矯枉過正的。使用ADO.NET –