C#为什么和数据库连接不上,请高手指点

wy19280469 2007-12-17 10:42:19
我家的C#为什么不能和数据库建立连接 但是我在学校可以用
string sql_str = "server=.;user id=sa;password='';database=pubs;";
SqlConnection conn = new SqlConnection(sql_str);
conn.Open();
conn.Close();
return true;

在open();的时候就出现问题 ````提示 (用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联。)
我在SQL中找到了SA 但是我在家从来都是用windows登陆 没用过用户名 所以现在要用到默认的sa 但不好使连接不上 我在学校的时候可以用 而且运行全部正确可以操作
到家就不可以了 代码完全 没错误 C# 和SQL 也没问题 我装完到现在没动过 我也用它们做过很多练习 而且 SQL的数据库是建立连接的 打开的 没有关闭 数据库也存在
就是不知道怎么连接 就是连接不上 SA这个名字不好用
在DATAGIRDVIEW 点右上的里面用选择数据库
(Data Source=08F2B689112C4AF;Initial Catalog=成员管理系统;Integrated Security=True)最后的地址 可用这个是可以 但是我不能在数据库里随便用别的组员验证了 很是苦恼
(我的代码全都是在学校操作过的回家继续下面操作但是连接就不好用了)
还有最后 我重新自己建了 不好使 重新注册的 不能使用SA
好像已经够具体了吧``` 我就是死活连不上 不会弄
请个位高手指点 要说的越具体越好 我具体名词不是很懂``` 谢谢谢谢````
...全文
1392 33 打赏 收藏 转发到动态 举报
写回复
用AI写文章
33 条回复
切换为时间正序
请发表友善的回复…
发表回复
pboyin 2007-12-25
  • 打赏
  • 举报
回复
好像要把身份认证改成windows喝sql server
把服务器的属性,安全性哪里可以改
深海之蓝 2007-12-19
  • 打赏
  • 举报
回复
sqlserver验证模式有两种,windows验证和混合验证,你可能是用了windows验证
更改的方法是先用windows验证进入sqlserver中,忘了是哪个项的属性了,好象是login进入它的属性选项之后可以看到验证模式,改为混合验证,然后重启下电脑就应该没问题了.我也出过类似的问题,连sqlserver都进不去,提示"管道的一端不能为什么什么" 试一下吧
huoxudong125 2007-12-19
  • 打赏
  • 举报
回复
应该就是
用windows验证模式登陆sql创建sa帐户。
下次装sql 记得选择混合模式,不要选择windows验证模式。
和你程序无关,因为你们学校机器的sql有sa帐户并且密码为空
thfthf2 2007-12-19
  • 打赏
  • 举报
回复
请在SqlServer中SqlServer组下节点,右击选择属性。

并选择安全性属性页,将身份验证设置为SqlServer和Windows。

然后再试试看,应该是你的验证模式是Windows验证
也可以用可信连接来连接数据库,加上Integrated Security=True就可以了,去掉uid和pwd
阿非 2007-12-19
  • 打赏
  • 举报
回复
用windows验证模式登陆sql创建sa帐户。
下次装sql 记得选择混合模式,不要选择windows验证模式。
和你程序无关,因为你们学校机器的sql有sa帐户并且密码为空
trueboy 2007-12-19
  • 打赏
  • 举报
回复
不对,不应该用单引号的,应该这样:
把密码改为:123
试试:
"server=.;uid=sa;pwd=123;database=pubs;"
trueboy 2007-12-19
  • 打赏
  • 举报
回复
把密码改为:123
再用下面试试:
server=.;user id=sa;password='123';database=pubs;";
blueice008 2007-12-19
  • 打赏
  • 举报
回复
二楼正解
wy19280469 2007-12-19
  • 打赏
  • 举报
回复
恩恩 谢谢个位了 我照你们说的去试试 谢谢了哈
我在装的时候是选择的WINDOWS登陆没有混合 好像这里不行我同学重装完直接选的混合就好用了 谢谢上面的朋友们 ~~ 我结帖了~THANK YOU~
raul_qu 2007-12-19
  • 打赏
  • 举报
回复
SQL Server不需要重新安装.

SQL Server安装后卸载是卸不干净,卸载后将安装目录删除,注册表中搜索 Microsoft Sql Server项,共有两个地方有,删除它就可以了,如果重装还有问题,将主机名改为全大写字母

MDAC2.7或2.8在网上有,自己搜一下就有了,Sql Server sp4网上也有.

你现在的Sql Server应该是混合认证的吧,
"Data Source=127.0.0.1;Initial Catalog=MyDB;Persist Security Info=True;User ID=sa;Password="
jyking1986 2007-12-19
  • 打赏
  • 举报
回复
正好可以学习一下。
我试试。
changjiangzhibin 2007-12-19
  • 打赏
  • 举报
回复
string sql_str = "server=.;user id=sa;password=;database=pubs;";
安装SQL的时候默认用户名sa,密码自己写的,可以为空,为空如上面所写,不为空则换为password=mypassword
即可,加上30楼所言,应该没有问题了。
pangxiaoliang 2007-12-19
  • 打赏
  • 举报
回复
在企业管理器中设置为windows和SQL-server同时验证,在数据库上右键-》属性-》安全性(身份验证选windows和SQL-server),然后输入正确的用户名密码就可以了:)
echozhangk 2007-12-18
  • 打赏
  • 举报
回复
是不是安装好sql server后电脑又改过“完整的计算机名称”(我的电脑-右键属性)
qr0413356 2007-12-18
  • 打赏
  • 举报
回复
sa密码应该不可以为空
catpk 2007-12-18
  • 打赏
  • 举报
回复
我以前也发生过你这样的情况 ,可能是SQL SERVER没有装好
可按照 http://www.icefeng.cn/html/mianfeizhongxin/mianfeijiaocheng/20070701/4554.html 重装一遍
要么就是你的语句没写好 改成 string sql_str = "server=.;uid=sa;pwd=;database=pubs";

y4l3h7s 2007-12-18
  • 打赏
  • 举报
回复
如果你们学校的SQL设置的密码是个空格的话你的书写就没有问题,但是你自己的SQL密码书NULL所以不用加''的.
加了''是表示中间有字符的,没有密码就应该是NULL,表示什么都没的!

<configuration>
<appSettings>
<add key="mm" value="server=.;uid=sa;pwd=;database=xueyuan"></add>
</appSettings>
</configuration>

这是我一个程序中 写在App.config中的SQL连接代码,我的SQL密码是空,完全没问题@
wy19280469 2007-12-18
  • 打赏
  • 举报
回复
我改了SA的密码 但是不好用 在SA里面找不到数据库 只有在选择WINDOWS的时候才显示
于是只能在WINDOWS上取得地址 没用SA登陆了
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
namespace Class_server
{
public class DataAccess
{
private string ServerName = "sa";
private string ServerPwd="'123'";

public string SerName
{
get
{
return ServerName;
}
set
{
ServerName = value;
}
}
public string SerPwd
{
get { return ServerPwd; }
set { ServerPwd = value; }
}
public bool Check_Server()
{
try
{

//string sql_str = "server=.;user id=" + ServerName + ";password=" + ServerPwd + ";database=pubs;";
string sql_str = " Data Source=08F2B689112C4AF;Initial Catalog=成员管理系统;Integrated Security=True";
SqlConnection conn = new SqlConnection(sql_str);
conn.Open();
conn.Close();
return true;
}
catch
{
return false;
}
}

public SqlConnection Connect()
{
//string str = "server=.;user id =" + ServerName + ";password = " + ServerPwd + ";database = pubs";
string sql_str = " Data Source=08F2B689112C4AF;Initial Catalog=成员管理系统;Integrated Security=True";
SqlConnection sql_conn = new SqlConnection(sql_str);

return sql_conn;
}
public DataTable SelectDataBySql(string str_sql)
{

SqlConnection sql_conn = Connect();
SqlDataAdapter dscommand = new SqlDataAdapter(str_sql, sql_conn);

DataSet ds = new DataSet();
dscommand.Fill(ds);
return ds.Tables[0];
}

}
}

我这样写就可以查数据库的东西了 但是在验证数据库那步就等于没做 - -`` 在学校为了方便老师把密码改成空 在家我用WINDOWS登陆 所以没用过用户名的那个 现在要用不好使 HOHO~
我安装的是 sql2000 在前1个月前下的

楼上两位朋友
(如果确认用户名密码都没有问题,那么这样试试:
安装sql server sp4
重装mdac2.7/2.8)
(如果sqlserver2000安装sqlserver sp3
如果sqlserver2005设置可远程访问)
我去研究下 呵呵 不知道怎么弄这个 重新安装吗 可是SQL 卸不干净啊 卸了就不让在装了 我们同学卸完就装不上就得搁盘

Raul_Qu 的方法我在BAIDU中查到过 说用127.0.0.1就可以登陆 但我不知道怎么用 是直接复制到代码里就可以吗? 请教
zxjay 2007-12-18
  • 打赏
  • 举报
回复
如果sqlserver2000安装sqlserver sp3
如果sqlserver2005设置可远程访问
raul_qu 2007-12-18
  • 打赏
  • 举报
回复
首先建议使用连接池技术,

[code=INIFile]
<!--.net 2.0-->
<connectionStrings>
<add name="MSSQL" connectionString="Data Source=127.0.0.1;Initial Catalog=MyDB;Persist Security Info=True;User ID=sa;Password=" providerName="System.Data.SqlClient"/>
<add name="MyDBConnectionString" connectionString="Data Source=127.0.0.1;Initial Catalog=MyDB;User ID=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>
[/code]
如果确认用户名密码都没有问题,那么这样试试:
安装sql server sp4
重装mdac2.7/2.8
加载更多回复(13)

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧