ASP.NET 连接 SQLServer 2000 登录错误

程序猿DD
Java领域优质创作者
博客专家认证
2009-03-02 11:52:56
一直都是用Oracle和MySQL,最近接手学长的一个学校的系统,遇到点问题,不知道有哪个朋友碰到过~困惑了几天了~

错误是出现在:
行 34:myConnection.Open();
报的是:用户 'PERSONAL-8FC78E\IUSR_PERSONAL-8FC78E' 登录失败。

web.config中配置的连接字段是:<add key="conn1" value="workstation id='WC-NB';packet size=4096;integrated security=SSPI;data source=(local);persist security info=False;initial catalog=doudou" />

启动ASP.NET服务,SQLServer服务,IIS中都配置没有问题,当与数据库建立连接时,即出现上面的错误。之后我去企业管理器的安全性中有3个名称分别是:
BUILTIN\Administrators
PERSONAL-8FC78E\Administrators
sa

他们都是System级别的角色

这个3个都与所报的用户'PERSONAL-8FC78E\IUSR_PERSONAL-8FC78E' 不符合。

开始一直没怀疑这个连接的正确性,因为这个系统是当前学校一直在用的,是我的学长做的。现在仔细看连接字段,有1个疑问:这个字符串中没有uid和pwd那他是以什么身份登录的呢?

为了测试下这个连接字段是否可用,我在C#命令行工程里试了一下,具体代码是这样的:
SqlConnection myConnection = new SqlConnection("workstation id='WC-NB';packet size=4096;integrated security=SSPI;data source=(local);persist security info=False;initial catalog=doudou");
myConnection.Open();
SqlCommand myCommand = new SqlCommand("select * from timesetting where type='7'", myConnection);
SqlDataReader sdr;
sdr=myCommand.ExecuteReader();
sdr.Read();
DateTime now = System.DateTime.Now;
DateTime startTime = System.DateTime.Parse(sdr["starttime"].ToString());
Console.Write(startTime);
myConnection.Close();

这个可以正确显示出startTime,说明这个连接是有效的,并且服务器也是在正常工作的。但是为什么在WEB里的时候缺发生了这样一个错误呢?

...全文
205 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
wjj_729 2009-03-02
  • 打赏
  • 举报
回复
帮顶……
dawugui 2009-03-02
  • 打赏
  • 举报
回复
前两天.论坛有个帖,没钱买书就下吧,里面有专门讲asp.net和sql server开发的.
程序猿DD 2009-03-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 songrun 的回复:]
先确认下,到底有没有那个用户呢
[/Quote]

我问题描述上写了数据库里就3个用户,没有报错的这个用户的。但是连接字符串里也没有uid啊。
自由的企鹅 2009-03-02
  • 打赏
  • 举报
回复
先确认下,到底有没有那个用户呢
程序猿DD 2009-03-02
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 orochi_gao 的回复:]
<connectionStrings>
<add name="conn1" connectionString="server=192.168.1.1; User ID=sa;Password=123456;database=doudou;Connection Reset=FALSE" providerName="System.Data.SqlClient" />
</connectionStrings>

改用混合验证方式。你这个是本地验证方式。
[/Quote]

书上写的这些方法都能连上的,但是这个是系统现在在用的代码,其中就没uid和pwd。我想知道的是为什么会产生这个错误。可以解释一下,错误原因么?还有那个用户,我数据库里根本就没有这个用户的。
orochi_gao 2009-03-02
  • 打赏
  • 举报
回复
<connectionStrings>
<add name="conn1" connectionString="server=192.168.1.1; User ID=sa;Password=123456;database=doudou;Connection Reset=FALSE" providerName="System.Data.SqlClient" />
</connectionStrings>

改用混合验证方式。你这个是本地验证方式。
程序猿DD 2009-03-02
  • 打赏
  • 举报
回复
图书馆里也都看了不少书了,也问过一些研究生学长,但是没能解决这个问题。找不出原因来。

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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