2

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

据我了解,这些随 SQL 服务器或 Sql express 一起提供——它们不在远程(共享)网络服务器上。要求主机安装,可能是不可能的,那么是否可以动态加载它们?

请参阅下面的错误 -

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

或者,如果任何人都可以为下面的代码片段提供一种解决方法,这也是有用的。script 变量是一个 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
4

3 回答 3

2

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

是我一直在寻找的,并且成功了。

于 2009-03-27T09:50:11.470 回答
1

你可以尝试使用sql server自带的sqlcmd utilty

于 2009-03-21T16:18:00.540 回答
0

不,你不能动态加载它们,不,你不能在没有权限的情况下安装它们。很抱歉,但那里没有骰子。

于 2009-03-22T13:36:03.383 回答