SQL Server Express 2008 R2的数据库连接

本文关键字:数据库连接 R2 2008 Server Express SQL | 更新日期: 2023-09-27 17:50:47

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

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

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

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

SQL Server Express 2008 R2的数据库连接

在c#中字符'被认为是转义序列中的第一个字符。
因为Data Source=.'SQLEXPRESS'S不能被识别为有效的转义序列,所以会出现错误。

因此,您需要构建连接字符串,并以字符@或转义字符''作为前缀有关@字符

的解释,请参见使用字符串
string conString = @"Integrated Security=SSPI;Persist Security Info=False;" + 
                   @"Initial Catalog=Restorant;Data Source=.'SQLEXPRESS";

如果有必要的话,请记住使用此方法逐字创建多个字符串。

还要注意连接字符串的数据源部分中的小错误。它需要在数据和源之间留出一个空间。见connectionstrings.com

现在您的连接字符串正试图逃离S,例如.'S。改成

//double the backslash to escape the slash
string connectionString = "Integrated Security=SSPI;Persist Security Info=False;
          Initial Catalog=Restorant; Data Source=.''SQLEXPRESS";

//precede the string with @
string connectionString = @"Integrated Security=SSPI;Persist Security Info=False;
          Initial Catalog=Restorant; Data Source=.'SQLEXPRESS";  

尝试将数据源名称更改为数据源Data Source=localhost'SQLExpress