您好,我尝试学习一些ADO.NET。我正在使用C#在Visual Studio 2015中工作。我创建了一个数据库,其中包含一些存储在本地计算机上的表。这是我尝试连接数据库的C#代码:
string constring = "Data Source=.; Database = CarShop;Integrated Security=SSPI";
SqlConnection con = new SqlConnection(constring);
con.Open();
当我尝试打开SqlConnection时会抛出错误:
类型'System.Data.SqlClient.SqlException'的未处理异常 发生在System.Data.dll中附加信息:网络 - 建立一个相关的或实例特定的错误 连接到SQL Server。找不到或没有找到服务器 accessible.Verify实例名称是正确的和SQL 服务器配置为允许远程连接。(提供者:已命名 管道提供程序,错误:40 - 无法打开与SQL Server的连接)
到目前为止,我已尝试将连接字符串更改为:
string constring = "Data Source=192.168.0.101; Database = CarShop;Integrated Security=True;Connect Timeout=30";
或
constring = "Data Source=(LocalDB)/MSSQLLocalDB;AttachDbFilename=D:/Proiecte/Visual Studio/C#/DataBases/DataBaseTut2/DataBaseTut2/CarShop.mdf;Integrated Security=True;Connect Timeout=30";
但两者都没有效果。
答案 0 :(得分:0)
试试这个:
Data Source=.;
Initial Catalog=database name;
Integrated Security=True;
Max Pool Size=2048;
Pooling=true;
答案 1 :(得分:0)
我将访问http://www.connectionstrings.com/sql-server/以获取ADO.net Sql Server连接的正确连接字符串实例。
我建议您从示例中Standard Security
或Trusted Connection
。
我会将它保存在配置文件中,无论是app.config还是web.config
创建连接时,请始终使用using()语句在连接超出范围时正确处理该连接。
因此:
using(SqlConnection sqlconn = new SqlConnection(
ConfigurationManager.ConnectionStrings["defaultconnection"].ConnectionString))
{
sqlconn.Open();
using(SqlCommand sqlcommand = new SqlCommand("Select field1 FROM
Table",sqlconn))
{
//code here
}
}
localhost (.)
上的数据库可以接受可信连接,而不是使用标准安全性 - sql身份验证 - 通过指定用户凭据,即"User Id=username;Password=pwd;"
答案 2 :(得分:0)
我明白了。对于那些有这个问题的人。您可以通过在服务器资源管理器中右键单击数据库然后选择属性来获取连接字符串。如果这样做,您将在“属性”面板中找到“连接字符串”。复制该字符串,但在代码中使用它时,请使用它:
@"whatever your Connection String is"
答案 3 :(得分:-1)
确保在sql server manager中启用了tcp / IP。如果没有,那么你就无法与之沟通。还要检查是否需要提供命名实例。例如。本地主机/ SQLEXPRESS