C# 无法在本地连接到sql server 2008 express

C# 无法在本地连接到sql server 2008 express,c#,asp.net,sqlconnection,sql-server-2008-express,C#,Asp.net,Sqlconnection,Sql Server 2008 Express,我正在尝试连接到本地主机sql server 2008 express server。我也在本地运行我的c#asp.net代码(在连接到开发服务器之前进行测试)。我无法获取连接到数据库的代码。我从VisualStudio2010中创建的数据库的属性中复制了连接字符串,并尝试使用它,但没有成功。然后我用了: //Build the connection SqlConnectionStringBuilder bldr = new SqlConnectionStringBuilder();

我正在尝试连接到本地主机sql server 2008 express server。我也在本地运行我的c#asp.net代码(在连接到开发服务器之前进行测试)。我无法获取连接到数据库的代码。我从VisualStudio2010中创建的数据库的属性中复制了连接字符串,并尝试使用它,但没有成功。然后我用了:

//Build the connection 
    SqlConnectionStringBuilder bldr = new SqlConnectionStringBuilder();

    //Put your server or server\instance name here.  Likely YourComputerName\SQLExpress
    bldr.DataSource = "(localhost)/SQLEXPRESS;";

    //Attach DB Filename
    bldr.AttachDBFilename = "C:/Documents and Settings/1091912/My Documents/Visual Studio 2010/WebSites/BrokerBuy/App_Data/BrokerBuy.mdf";

    //User Instance
    bldr.UserInstance = true;

    //Whether or not a password is required.
    bldr.IntegratedSecurity = true;

    SqlConnection connectionString = new SqlConnection(bldr.ConnectionString);
    connectionString.Open();
但这也不起作用。我也尝试过使用./SQLEXPRESS作为我的数据源名称,但这也不起作用。出现的错误是:

建立到SQL Server的连接时发生与网络相关或特定于实例的错误。找不到或无法访问该服务器。请验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接)


我还进行了检查,以确保sql server express正在运行,并且启用了除via之外的所有连接。我无法接通工作。有什么想法吗?

您的数据源不正确:

“(localhost)/SQLEXPRESS;”

它应该是
(本地)\SQLEXPRESS
localhost\SQLEXPRESS
。有关更多信息,请参阅此文档。此外,传统上它是反斜杠,而不是斜杠(因此,如果需要,请确保它已转义)

(本地)
,包括parens是一个表示本地机器的特殊指示器

localhost
是本地计算机的网络名称


您可以使用任意一个连接到本地实例。

您的数据源不正确:

“(localhost)/SQLEXPRESS;”

它应该是
(本地)\SQLEXPRESS
localhost\SQLEXPRESS
。有关更多信息,请参阅此文档。此外,传统上它是反斜杠,而不是斜杠(因此,如果需要,请确保它已转义)

(本地)
,包括parens是一个表示本地机器的特殊指示器

localhost
是本地计算机的网络名称


您可以使用任意一个连接到本地实例。

您的代码有一些问题

第一个是
(localhost)
不是有效的令牌。您可以使用
(本地)
,甚至更好的方法是使用

第二个是您的路径使用正斜杠而不是反斜杠。虽然较新版本的Windows支持这一点以实现*NIX兼容性,但数据库驱动程序可能会也可能不会支持,这取决于它们在内部解析路径的方式

下面是一些应该有效的示例代码:

//Build the connection 
SqlConnectionStringBuilder bldr = new SqlConnectionStringBuilder();

//Put your server or server\instance name here.  Likely YourComputerName\SQLExpress
bldr.DataSource = ".\\SQLEXPRESS";

//Attach DB Filename
bldr.AttachDBFilename = bldr.AttachDBFilename = @"C:\Documents and Settings\1091912\My Documents\Visual Studio 2010\WebSites\BrokerBuy\App_Data\BrokerBuy.mdf";

//User Instance
bldr.UserInstance = true;

//Whether or not a password is required.
bldr.IntegratedSecurity = true;

SqlConnection connectionString = new SqlConnection(bldr.ConnectionString);
connectionString.Open();

你的代码有一些问题

第一个是
(localhost)
不是有效的令牌。您可以使用
(本地)
,甚至更好的方法是使用

第二个是您的路径使用正斜杠而不是反斜杠。虽然较新版本的Windows支持这一点以实现*NIX兼容性,但数据库驱动程序可能会也可能不会支持,这取决于它们在内部解析路径的方式

下面是一些应该有效的示例代码:

//Build the connection 
SqlConnectionStringBuilder bldr = new SqlConnectionStringBuilder();

//Put your server or server\instance name here.  Likely YourComputerName\SQLExpress
bldr.DataSource = ".\\SQLEXPRESS";

//Attach DB Filename
bldr.AttachDBFilename = bldr.AttachDBFilename = @"C:\Documents and Settings\1091912\My Documents\Visual Studio 2010\WebSites\BrokerBuy\App_Data\BrokerBuy.mdf";

//User Instance
bldr.UserInstance = true;

//Whether or not a password is required.
bldr.IntegratedSecurity = true;

SqlConnection connectionString = new SqlConnection(bldr.ConnectionString);
connectionString.Open();

bldr.DataSource=“(本地)/SQLEXpress;”可能?不,不幸的是我也有同样的问题…你可以试试
\\SQLEXPRESS
tooOk,我用了“\\SQLEXPRESS”,它似乎已经连接上了,但现在我遇到了这个错误:尝试为文件C:/Documents and Settings/1091912/My Documents/visualstudio 2010/WebSites/BrokerBuy/App_Data/BrokerBuy.mdf附加自动命名数据库失败。存在同名数据库,或无法打开指定的文件,或该文件位于UNC共享上。该文件存在吗?此外,只有最新版本的Windows才支持路径名中的前斜杠,为了以防万一,可以尝试使用反斜杠?
bldr.DataSource=“(local)/SQLEXpress;”可能?不,不幸的是我也有同样的问题…你可以试试
\\SQLEXPRESS
tooOk,我用了“\\SQLEXPRESS”,它似乎已经连接上了,但现在我遇到了这个错误:尝试为文件C:/Documents and Settings/1091912/My Documents/visualstudio 2010/WebSites/BrokerBuy/App_Data/BrokerBuy.mdf附加自动命名数据库失败。存在同名数据库,或无法打开指定的文件,或该文件位于UNC共享上。该文件存在吗?另外,只有最新版本的Windows支持路径名中的前斜杠,也许可以尝试反斜杠以防万一?好的,我使用了
\\SQLEXPRESS
,它似乎已经连接起来了,但现在我遇到了这个错误:尝试为文件C:/Documents and Settings/1091912/My Documents/visualstudio 2010/WebSites/BrokerBuy/App_Data/BrokerBuy.mdf附加自动命名数据库失败。存在同名数据库,或指定的文件无法打开,或位于UNC共享上。+1他解决了您的第一个问题,我认为这足以给他+1。您的第二条评论可能是另一个问题。好的,我使用了
\\SQLEXPRESS
,它似乎已连接,但现在出现了以下错误:尝试为文件C附加自动命名的数据库:/Documents and Settings/1091912/My Documents/Visual Studio 2010/WebSites/BrokerBuy/App\u Data/BrokerBuy.mdf失败。存在同名数据库,或指定的文件无法打开,或位于UNC共享上。+1他解决了您的第一个问题,我认为这足以给他+1。你的第二个评论可能是另一个问题。