是的,我没加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 –