我有一个使用 Microsoft Sql 管理对象 (SMO) dll 的 Web 应用程序。我想知道如何为远程计算机重新分发库。
据我了解,它们附带 SQL Server 或 Sql Express - 不在远程(共享)网络服务器上。要求主机安装它们可能是不可能的,那么是否可以动态加载它们?
请参阅下面的错误 -
无法加载文件或程序集“Microsoft.SqlServer.Smo,Version=9.0.242.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或其依赖项之一。系统找不到指定的文件。
或者,如果有人可以为下面的代码片段提供解决方法,这也会很有用。 script 变量是一个已读到底的 SQL 安装脚本。这样做的好处是从 SQL 输出每个执行字符串。我当然可以将其全部执行在一个 block 中,但这不会向用户逐行提供视觉反馈,表明 sql 执行正常。
是否有可以执行此类操作的存储过程?或者在没有完全权限的情况下执行安装脚本的替代方法。
Dim connection As New SqlConnection(Me.ConnectionString)
connection.Open()
connection.Close()
Dim server As New Server(New ServerConnection(connection))
server.ConnectionContext.SqlExecutionModes = SqlExecutionModes.ExecuteAndCaptureSql
Dim commands As StringCollection = server.ConnectionContext.CapturedSql.Text
server.ConnectionContext.ExecuteNonQuery(script, ExecutionTypes.ContinueOnError)
Dim s As String
For Each s In server.ConnectionContext.CapturedSql.Text
AppendMessages(s)
Next
最佳答案
http://www.mattberther.com/2005/04/11/executing-a-sql-script-using-adonet/
来自
http://coolthingoftheday.blogspot.com/2006/11/execute-t-sql-scripts-with-gos.html
这就是我一直在寻找的东西,并且成功了。
关于sql-server - 使用 SMO 运行 SQL 安装脚本。需要替代解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/667777/