Где я могу найти коллекцию объектов управления SQL Server для SQL Server Express? - PullRequest
0 голосов
/ 09 марта 2019

Я написал приложение, которое отлично работает при запуске из Visual Studio 2017 и использует следующие библиотеки:

  • Microsoft.SqlServer.Management.Common
  • Microsoft.SqlServer.Management.Smo

Но когда я пытаюсь запустить его самостоятельно, я получаю следующую ошибку:

System.IO.FileNotFoundException: Не удалось загрузить файл или сборку 'Microsoft.SqlServer.ConnectionInfo, версия = 14.100.0.0, Culture = нейтральный, PublicKeyToken = 89845dcd8080cc91' или одна из ее зависимостей. Система не может найти указанный файл. Имя файла: 'Microsoft.SqlServer.ConnectionInfo, версия = 14.100.0.0, культура = нейтральная, PublicKeyToken = 89845dcd8080cc91'

Это связано с отсутствием коллекции объектов управления SQL Server для SQL Server.

Мне нужно знать, как решить эту проблему или решить ее для SQL Server Express. Я заметил, что эти пакеты доступны для установки для купленных версий SQL Server, но ничего не нашли для Express.

Ответы [ 2 ]

1 голос
/ 09 марта 2019

Вам необходимо установить SQLSysClrTypes.msi

ОБНОВЛЕННАЯ ССЫЛКА https://download.microsoft.com/download/1/3/0/13089488-91FC-4E22-AD68-5BE58BD5C014/ENU/x86/SQLSysClrTypes.msi

... и, возможно, перезагрузите ваш S.O

SQL = язык структурированных запросов (продолжение - это просто фонетика или инструмент БД для Ruby)

Старая ссылка http://go.microsoft.com/fwlink/?LinkID=188392&clcid=0x409

Когда вы сказали «скомпилированный исполняемый файл», вы взяли .exe, все .dll и все другие файлы из папки bin? Пожалуйста, скопируйте все содержимое папки bin.

0 голосов
/ 09 марта 2019

Это функция. DBServerTextBox.Text - это @ "localhost \ SQLEXPRESS" DBDataTextBox.Text - это путь к каталогу DATA Ярлык обновляется, а спящий поток служит для того, чтобы я мог видеть сообщения с ярлыками до того, как они вспыхнут.

private void AttachDatabaseToInstance()
    {
        SqlConnection con = new SqlConnection();
        con.ConnectionString = @"Data Source=" + DBServerTextBox.Text + @";Initial Catalog=master;;Integrated Security=True;Connect Timeout=30;User ID=dbadmin;Password=dbadmin";

        ServerConnection serverconn = new ServerConnection(con);
        Server s = new Server(serverconn);

        try
        {
            con.Close();
            InstallStatusLabel.Text = "Existing connections closed";
            InstallStatusLabel.Refresh();
            System.Threading.Thread.Sleep(3000);
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
        try
        {
            s.DetachDatabase("mydatabase", true);
            InstallStatusLabel.Text = "Detaching any existing mydatabase database";
            InstallStatusLabel.Refresh();
            System.Threading.Thread.Sleep(3000);
        }
        catch
        {
            MessageBox.Show("Could not find attached database");
        }
        try
        {
            s.AttachDatabase("mydatabase", new System.Collections.Specialized.StringCollection { DBDataTextBox.Text + @"\mydatabase.mdf", DBDataTextBox.Text + @"\mydatabase_log.ldf" }, AttachOptions.None);
            InstallStatusLabel.Text = "Attached mydatabase database";
            InstallStatusLabel.Refresh();
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...