适用于Microsoft SQL Server Express 2008 R2的VS C#constring

时间:2013-01-06 16:38:47

标签: c# database-connection sql-server-2008r2-express

我正在制作一个在Windows 7 64位上使用SQL Server 2008 R2 Express的C#应用​​程序。我面临的问题是我无法连接到我的数据库,因为我的连接字符串是错误的。我正在使用.udl文件来创建连接字符串,这就是它给我的内容:

Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Restorant;
DataSource=.\SQLEXPRESS

此连接字符串正在创建一个错误,指出存在无法识别的转义值。我试图将我的数据源更改为(本地),因为我的朋友说它适用于他们的项目,但由于未知的实例名称错误,我无法连接。

我还有其他方法可以连接到我的数据库吗?

3 个答案:

答案 0 :(得分:3)

在C#中,字符\被视为escaping sequence中的第一个字符 由于\S的{​​{1}}未被识别为有效的转义序列,因此您会收到错误消息。

因此,您需要构建连接字符串,并在其前面添加字符Data Source=.\SQLEXPRESS或将转义字符@加倍 有关@字符

的说明,请参阅Working With Strings
\\

如果必须,请记住使用此方法逐字记录多个字符串。

另请注意连接字符串的数据源部分中的小错误。它需要数据和源之间的空间。见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