在哪里可以找到 SQL Server Express 的 SQL 服务器管理对象集合?
Where can I find a SQL Server Management Objects Collection for SQL Server Express?
我编写了一个应用程序,它在 Visual Studio 2017 年 运行 时运行良好,并使用了以下库:
Microsoft.SqlServer.Management.Common
Microsoft.SqlServer.Management.Smo
但是当我尝试 运行 它独立时,我收到以下错误:
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.ConnectionInfo, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified. File name: 'Microsoft.SqlServer.ConnectionInfo, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'
我追踪到 SQL 服务器缺少 SQL 服务器管理对象集合。
我需要知道如何解决这个问题,或者是否可以为 SQL Server Express 解决这个问题。我注意到这些包可用于购买的 SQL 服务器版本的安装,但没有找到任何用于 Express 的包。
您需要安装SQLSysClrTypes.msi
... 并可能重新启动您的 S.O
SQL = 结构化查询语言(sequel 只是 Ruby 的语音或数据库工具)
旧 LINK
http://go.microsoft.com/fwlink/?LinkID=188392&clcid=0x409
当您说 "compiled executable" 时,您是否从 bin 文件夹中取出了 .exe、所有 .dll 和所有其他文件?请复制您的 bin 文件夹的全部内容。
这是函数。
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());
}
}
我编写了一个应用程序,它在 Visual Studio 2017 年 运行 时运行良好,并使用了以下库:
Microsoft.SqlServer.Management.Common
Microsoft.SqlServer.Management.Smo
但是当我尝试 运行 它独立时,我收到以下错误:
System.IO.FileNotFoundException: Could not load file or assembly 'Microsoft.SqlServer.ConnectionInfo, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91' or one of its dependencies. The system cannot find the file specified. File name: 'Microsoft.SqlServer.ConnectionInfo, Version=14.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91'
我追踪到 SQL 服务器缺少 SQL 服务器管理对象集合。
我需要知道如何解决这个问题,或者是否可以为 SQL Server Express 解决这个问题。我注意到这些包可用于购买的 SQL 服务器版本的安装,但没有找到任何用于 Express 的包。
您需要安装SQLSysClrTypes.msi
... 并可能重新启动您的 S.O
SQL = 结构化查询语言(sequel 只是 Ruby 的语音或数据库工具)
旧 LINK http://go.microsoft.com/fwlink/?LinkID=188392&clcid=0x409
当您说 "compiled executable" 时,您是否从 bin 文件夹中取出了 .exe、所有 .dll 和所有其他文件?请复制您的 bin 文件夹的全部内容。
这是函数。 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());
}
}