Запуск сценария установки SQL с SMO. Нужны альтернативные решения - PullRequest
2 голосов
/ 20 марта 2009

У меня есть веб-приложение, которое использует DLL-объекты Microsoft Sql Management Objects (SMO). Мне интересно, как я перераспределяю библиотеки для удаленной машины.

Насколько я понимаю, они поставляются с SQL-сервером или Sql Express, которых нет на удаленном (общем) веб-сервере. Просить хост установить их, возможно, не может быть и речи, так возможно ли их динамически загружать?

См. Ниже ошибка-

Не удалось загрузить файл или сборку 'Microsoft.SqlServer.Smo, версия = 9.0.242.0, культура = нейтральная, 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

Ответы [ 3 ]

2 голосов
/ 27 марта 2009
1 голос
/ 21 марта 2009

вы можете попробовать использовать утилиту sqlcmd , поставляемую с сервером sql

0 голосов
/ 22 марта 2009

Нет, вы не можете динамически загружать их, и нет, вы не можете установить их без разрешений. Извините за это, но там нет игры в кости.

...