我用SQLServerMS创建个数据库,用VS的c#语言连接数据库失败,如何解决?

来源:百度知道 编辑:UC知道 时间:2024/06/15 21:25:16
static void Main(string[] args)
{
string con = "Data Source=localhost;Initial
Catalog=DataBase1;Integrated Security=SSPI;";
SqlConnection myCon = new SqlConnection(con);
myCon.Open(); //提示出错
string s = "数据库状态:" + myCon.State.ToString();
Console.WriteLine(s);
myCon.Close();
}
报错:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接)

打开SQLServer外围应用配置器,点击服务和连接的外围应用配置器
然后点开Database Engine 点击远程连接,选择本地连接和远程连接,选择仅使用TCP/IP
一般的数据库链接字符串写成这样:
server=服务器;database=数据库名;uid=账户;password=密码
例如:server=220.135.13.12;database=test;uid=sa;password=123;
上面是远程的,本机一般用.(点)代替
还有连接字符串一般写在配置文件里,以后容易修改。

数据库的链接字符串没对吧!

你这个字符串是windows身份登陆的形式.如果安装SQL的时候没有选者windows身份登陆就不行,或者你的当前执行windows用户权限不高也不行.如果SQL可以sa登陆,你可以把Integrated Security=SSPI改成user id=sa;password=;试试

首先,你使用的是哪个SQL SERVER版本,EXPRESS?还是正式版?如果是EXPRESS的话,链接字符串中的数据源就错了,应该为Data Source=.\SQLEXPRESS,如果这里没问题,检查其他地方。

再看,检查你的SQL SERVER是否配置了可信链接,如果没有配置的话,是不能用Integrated Security=SSPI,而应该用标准安全的链接字符串,样例如下:Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

另外,看看Initial Catalog的内容是否改成你要的那个数据库目录?当然,这种地方出问题的很少,只是提醒一下。

还不知道问题出在哪儿的话,把try catch加进去抓下异常信息看看。