我创建了这个与数据库相关的软件,当我在我的机器上安装它并访问它的数据库时它运行得很好但是当我在另一台机器上安装它并且我尝试访问数据库时它会出现这个错误:
建立与SQL Server的连接时发生与网络相关的实例或特定于实例的错误。服务器未找到或无法访问。验证实例是否正确以及SQL Server是否配置为允许远程连接。 (提供:SQL网络接口:错误52 - 无法找到数据库运行时安装。验证SQL Server Express是否已正确安装以及是否已启用本地数据库运行时功能
这是我做过的连接的代码
var ttg = Environment.GetFolderPath(Environment.SpecialFolder.ProgramFilesX86);
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;AttachDbFilename="+ttg+"\\Datex Inc\\Time Table Generator\\Database\\timetable.mdf;Integrated Security=True");
SqlCommand cmd = new SqlCommand();
con.Open();
DataTable dt = con.GetSchema("Tables");
foreach (DataRow row in dt.Rows)
{
string tablename = (string)row[2];
//MessageBox.Show(tablename);
if (tablename != "schools" && tablename != "records")
{
databasenames.Add(tablename);
box.Items.Add(tablename);
}
}
con.Close();
它非常令人沮丧,我使用visual studio安装盾限量版项目来构建我的安装文件,其中包括我的软件的数据库和主要输出。有什么我做错了吗?如何在没有此错误的情况下在另一台计算机上正确安装我的软件数据库?
答案 0 :(得分:1)
这看起来不像是连接字符串的问题。我在 Teamcity 上遇到了类似的问题,并且在代理中安装 SQL Server Express 已解决。所以这看起来像新机器需要安装 SQL Server Express 安装程序。
答案 1 :(得分:0)
我的感觉是关于逃脱序列。您已经拥有@
,那么为什么要使用\\
。
试试这个。
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\v11.0;
AttachDbFilename="+ttg+"\Datex Inc\Time Table Generator
\Database\timetable.mdf;Integrated Security=True");