我正在制作一个在Windows 7 64位上使用SQL Server 2008 R2 Express的C#应用程序。我面临的问题是我无法连接到我的数据库,因为我的连接字符串是错误的。我正在使用.udl文件来创建连接字符串,这就是它给我的内容:
Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Restorant;
DataSource=.\SQLEXPRESS
此连接字符串正在创建一个错误,指出存在无法识别的转义值。我试图将我的数据源更改为(本地),因为我的朋友说它适用于他们的项目,但由于未知的实例名称错误,我无法连接。
我还有其他方法可以连接到我的数据库吗?
答案 0 :(得分:3)
在C#中,字符\
被视为escaping sequence中的第一个字符
由于\S
的{{1}}未被识别为有效的转义序列,因此您会收到错误消息。
因此,您需要构建连接字符串,并在其前面添加字符Data Source=.\SQLEXPRESS
或将转义字符@
加倍
有关@字符
\\
如果必须,请记住使用此方法逐字记录多个字符串。
另请注意连接字符串的数据源部分中的小错误。它需要数据和源之间的空间。见connectionstrings.com
答案 1 :(得分:1)
现在您的连接字符串正在尝试转义S
,例如.\S
。改为这个
//double the backslash to escape the slash
string connectionString = "Integrated Security=SSPI;Persist Security Info=False;
Initial Catalog=Restorant; Data Source=.\\SQLEXPRESS";
OR
//precede the string with @
string connectionString = @"Integrated Security=SSPI;Persist Security Info=False;
Initial Catalog=Restorant; Data Source=.\SQLEXPRESS";
答案 2 :(得分:0)
尝试将数据源名称更改为数据源Data Source=localhost\SQLExpress