【发布时间】:2017-07-27 03:26:05
【问题描述】:
我在连接字符串的变量方面遇到问题。在我的 app.config 数据库路径中似乎很好,但在表单上,我收到了该连接字符串的错误。当我尝试添加时:
_connectionString = "Data Source = (LocalDB)\\MSSQLLocalDB; " +
"AttachDbFilename = \"|DataDirectory|\\gazi_db.mdf\"; " +
"Integrated Security = True; Connect Timeout = 30";
数据库无法正常工作;它无法在退出时保存数据。然而这工作正常:
connectionString = "Data Source = (LocalDB)\\MSSQLLocalDB; " +
"AttachDbFilename = \"C:\\Users\\Can\\Desktop\\c_sharp_gazi_installer" +
"\\Gazi Installer\\gazi_installer\\gazi_db.mdf\"; " +
"Integrated Security = True; Connect Timeout = 30";
我该如何解决这个问题?
编辑:我希望这会起作用
string DataDirectory = "";
string folder = Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().CodeBase);
AppDomain.CurrentDomain.SetData("DataDirectory", folder);
_connectionString = _connectionString = "Data Source = (LocalDB)\\MSSQLLocalDB; " +
"AttachDbFilename = \"" + DataDirectory + "\\gazi_db.mdf\"; " +
"Integrated Security = True; Connect Timeout = 30";
但它仍然给我 sqlclient sqlexception 错误。
EDIT2:此错误表示连接打开。我不明白为什么这也不起作用:
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder["Data Source"] = "(LocalDB)\\MSSQLLocalDB";
builder["AttachDbFilename"] = @"C:\Users\Can\\Desktop\c_sharp_gazi_installer\Gazi Installer\gazi_installer\gazi_db.mdf";
builder["Integrated Security"] = true;
builder["Connect Timeout"] = 30;
请人帮忙。我要疯了。
【问题讨论】:
-
“我遇到了错误”。如果有办法让我们知道错误消息是什么。
-
如果使用sqlserver管理工具创建数据库,而不是从VS创建数据库,或者先附加mdf文件,就不会出现这种问题了。
-
哦,这就是我正在努力解决的问题。我做不到。
-
我记得它给了我 sqlexception 错误