使用SMO运行SQL安装脚本。需要替代解决方案

时间:2009-03-20 20:07:54

标签: sql-server scripting install smo

我有一个使用Microsoft Sql Management Objects(SMO)dll的Web应用程序。我想知道如何重新分配远程机器的库。

据我所知,这些来自SQL服务器或Sql express - 它不在远程(共享)网络服务器上。要求主机安装它们可能是不可能的,因此可以动态加载它们吗?

见下面的错误 -

无法加载文件或程序集“Microsoft.SqlServer.Smo,Version = 9.0.242.0,Culture = neutral,PublicKeyToken = 89845dcd8080cc91”或其依赖项之一。系统找不到指定的文件。

或者,如果任何人都可以为下面的代码段提供一个也很有用的解决方法。脚本变量是一个SQL安装脚本,已经读到最后。关于这一点的好处是从SQL输出每个执行字符串。我当然可以在一个块中执行它,但是它不会逐行向用户提供可视反馈,即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

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

您可以尝试使用sql server附带的sqlcmd utilty

答案 2 :(得分:0)

不,您无法动态加载它们,不,您无法在没有权限的情况下安装它们。对不起,但没有骰子。