Connectionstring:它是正确的形式吗?

时间:2017-04-04 06:41:19

标签: c# sql-server visual-studio-2012

我是SQL数据库C#项目的新手,我在Windows窗体应用程序中连接到我的数据库时遇到问题,这是一个单用户应用程序,我想只为自己使用它。我在Windows 7 64位上使用Visual Studio 2012并在我的DELL Inspiron15 3521笔记本电脑上安装了SQL Server 2008和2012(太多信息?对不起,我非常绝望)。 首先,我不知道我的连接字符串是否正确或是否正确。这是我的连接字符串:

con.ConnectionString = "Data Source=(local); Initial Catalog=Library;Integrated Security=True";

所以请帮助我纠正它,另一个问题是当这个代码在Visual Studio 2012中运行时,它告诉我"无法打开数据库" Library"登录请求。登录失败。"当我在SQL服务器中的身份验证是Windows身份验证并且我没有任何登录信息添加到数据库时,就会发生这种情况。是否有任何配置或它只是我的代码错了?

先谢谢

3 个答案:

答案 0 :(得分:3)

您的连接字符串应如下所示:

<connectionStrings>    
    <add name="ConnStringDb1" 
         connectionString="Data Source=localhost\SQLSERVER;Initial Catalog=Library;Integrated Security=True;" 
         providerName="System.Data.SqlClient" /> 
</connectionStrings>

答案 1 :(得分:0)

如果您正在寻找使用随VS安装的测试/本地数据库,那么您正在寻找(localdb)\\mssqllocaldb

那么连接字符串就是:

Data Source=(localdb)\\mssqllocaldb; Initial Catalog=Library;Integrated Security=True

您可以将其存储在app.config中,就像其他答案一样,否则可能取决于您使用的内容。

Initial Catalog正在谈论将要创建/使用的数据库的名称 Integrated Security表示它将使用当前的Windows用户

对数据库进行身份验证

为了连接到内置的localdb,你需要这两件事。

答案 2 :(得分:0)

感谢大家的所有回复,但我已经在@Corak的答案中找到了答案,答案就在评论中。但这是我应该用于字符串连接的代码的正确形式:

@"Data Source=(LocalDB)\v11.0; AttachDbFileName=|DataDirectory|\Library.mdf; Integrated Security=True";

在我的情况下,|DataDirectory|是我的计算机中数据库(Library.mdf)的路径,所以如果有人使用此代码而不是|DataDirectory|写道路就像示例一样,因为如果你使用{ {1}}代码将运行,但数据库中不会发生任何事情(或者至少对我来说它没有工作)。这是一个例子:

|DataDirectory|

我的sqlserver是VS2012本地数据库服务器v11.0,这是我必须在我的代码中专门写的东西。

希望它有用