• 全部
  • C#综合技术
  • C#互联网桌面应用
  • AppLauncher
  • WinForm&WPF
  • C#开发新技术
  • 问答

这个登录失败是什么原因?

hadeseyes 2004-10-30 07:52:17
做了个最简单的asp.net表单,一个DataGrid 绑定一个数据表
结果在调试时出现如下错误,请帮忙看看是什么问题

“/MyWeb1”应用程序中的服务器错误。
--------------------------------------------------------------------------------

用户 'MYPC\ASPNET' 登录失败。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.Data.SqlClient.SqlException: 用户 'MYPC\ASPNET' 登录失败。

源错误:


行 34: if (!IsPostBack)
行 35: {
行 36: this.sqlDataAdapter1.Fill(this.dataSet11);//出错行
行 37: this.DataGrid1.DataBind();
行 38: }


源文件: c:\inetpub\wwwroot\myweb1\webform1.aspx.cs 行: 36

堆栈跟踪:


[SqlException: 用户 'MYPC\ASPNET' 登录失败。]
System.Data.SqlClient.ConnectionPool.GetConnection(Boolean& isInTransaction)
System.Data.SqlClient.SqlConnectionPoolManager.GetPooledConnection(SqlConnectionString options, Boolean& isInTransaction)
System.Data.SqlClient.SqlConnection.Open()
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState)
System.Data.Common.DbDataAdapter.FillFromCommand(Object data, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet)
MyWeb1.WebForm1.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\myweb1\webform1.aspx.cs:36
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()


...全文
272 点赞 收藏 21
写回复
21 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hadeseyes 2004-10-30
是说安全性\登录 的设置吧,设置为允许访问的,
而且winform下就没问题
回复
cs920 2004-10-30
检查一下SqlServer里面的用户权限设置。
回复
hadeseyes 2004-10-30
会不会是IIS配置的问题呢?
回复
网淘那些事 2004-10-30
既然在WINFORM下没有问题,证明数据库连接没有问题,检查一下WEB服务器看看.
回复
hadeseyes 2004-10-30
另外,在winform下面做,数据库连接没有任何问题.
回复
hadeseyes 2004-10-30
//
解析.net程序的'MYPC\ASPNET' 用户是不是已经不存在了或者是权限不够
//

如何做呢?

查询分析器连接上了,但用户是MYPC\hadeseyes

现在遇到新问题了,刚切换了一下windows用户,现在打开WEB项目出现
HTTP/1.1 500 Internal Server Error错误,打不开WEB项目了
回复
hadeseyes 2004-10-30
连接字符串是自动生成的,用windows集成验证身份还要pwd?
回复
oldrainman 2004-10-30
先用Query Analyzer工具试试有没有连接问题,再分析代码
回复
shoutor 2004-10-30
解析.net程序的'MYPC\ASPNET' 用户是不是已经不存在了或者是权限不够
回复
huqiyang 2004-10-30
你是用vs设计器设计的吗 如果是的话
会不会是SqlConnection的属性 连接字符串是自动生成?如果是
你要自己在里面加上 pwd=....
回复
hadeseyes 2004-10-30
是用向导生成的,windows集成验证身份

this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
this.sqlDataAdapter1 = new System.Data.SqlClient.SqlDataAdapter();
this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
this.sqlInsertCommand1 = new System.Data.SqlClient.SqlCommand();
this.sqlUpdateCommand1 = new System.Data.SqlClient.SqlCommand();
this.sqlDeleteCommand1 = new System.Data.SqlClient.SqlCommand();
this.dataSet11 = new MyWeb1.DataSet1();
((System.ComponentModel.ISupportInitialize)(this.dataSet11)).BeginInit();
//
// sqlConnection1
//
this.sqlConnection1.ConnectionString = "workstation id=MYPC;packet size=4096;integrated security=SSPI;data source=M" +
"YPC;persist security info=False;initial catalog=Northwind";
//
// sqlDataAdapter1
//
this.sqlDataAdapter1.DeleteCommand = this.sqlDeleteCommand1;
this.sqlDataAdapter1.InsertCommand = this.sqlInsertCommand1;
this.sqlDataAdapter1.SelectCommand = this.sqlSelectCommand1;
this.sqlDataAdapter1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
new System.Data.Common.DataTableMapping("Table", "Categories", new System.Data.Common.DataColumnMapping[] {
new System.Data.Common.DataColumnMapping("CategoryID", "CategoryID"),
new System.Data.Common.DataColumnMapping("CategoryName", "CategoryName")})});
this.sqlDataAdapter1.UpdateCommand = this.sqlUpdateCommand1;
//
// sqlSelectCommand1
//
this.sqlSelectCommand1.CommandText = "SELECT CategoryID, CategoryName FROM Categories";
this.sqlSelectCommand1.Connection = this.sqlConnection1;
//
// sqlInsertCommand1
//
this.sqlInsertCommand1.CommandText = "INSERT INTO Categories(CategoryName) VALUES (@CategoryName); SELECT CategoryID, C" +
"ategoryName FROM Categories WHERE (CategoryID = @@IDENTITY)";
this.sqlInsertCommand1.Connection = this.sqlConnection1;
this.sqlInsertCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CategoryName", System.Data.SqlDbType.NVarChar, 15, "CategoryName"));
//
// sqlUpdateCommand1
//
this.sqlUpdateCommand1.CommandText = "UPDATE Categories SET CategoryName = @CategoryName WHERE (CategoryID = @Original_" +
"CategoryID) AND (CategoryName = @Original_CategoryName); SELECT CategoryID, Cate" +
"goryName FROM Categories WHERE (CategoryID = @CategoryID)";
this.sqlUpdateCommand1.Connection = this.sqlConnection1;
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CategoryName", System.Data.SqlDbType.NVarChar, 15, "CategoryName"));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CategoryID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CategoryID", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CategoryName", System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CategoryName", System.Data.DataRowVersion.Original, null));
this.sqlUpdateCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@CategoryID", System.Data.SqlDbType.Int, 4, "CategoryID"));
//
// sqlDeleteCommand1
//
this.sqlDeleteCommand1.CommandText = "DELETE FROM Categories WHERE (CategoryID = @Original_CategoryID) AND (CategoryNam" +
"e = @Original_CategoryName)";
this.sqlDeleteCommand1.Connection = this.sqlConnection1;
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CategoryID", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CategoryID", System.Data.DataRowVersion.Original, null));
this.sqlDeleteCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_CategoryName", System.Data.SqlDbType.NVarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "CategoryName", System.Data.DataRowVersion.Original, null));
//
// dataSet11
//
this.dataSet11.DataSetName = "DataSet1";
this.dataSet11.Locale = new System.Globalization.CultureInfo("zh-CN");
this.Load += new System.EventHandler(this.Page_Load);
((System.ComponentModel.ISupportInitialize)(this.dataSet11)).EndInit();
回复
happyjun2000 2004-10-30
System.Data.SqlClient.SqlException: 用户 'MYPC\ASPNET' 登录失败
你用sqlserver的查询分析器连接一下数据库,你的'MYPC\ASPNET' 和密码是否可以连接,
还有你最好把连接字符串贴一下。
回复
oldrainman 2004-10-30
也许你数据库用户和密码不正确,把连接代码贴来看看
回复
hadeseyes 2004-10-30
刚才看错了,所有连接重做n遍了,不解决问题
回复
hadeseyes 2004-10-30
删数据表还是连sql server一起干掉?
回复
hadeseyes 2004-10-30
连接没问题啊,在sqlDataAdapter里面预览很正常

应该不是纸飞机说的问题,这是msdn里的范例
回复
feixueOK 2004-10-30
先检查看数据库服务器已经起动,再看看你连接参数是否正确,最后就是上面说的this.sqlDataAdapter1.Fill(this.dataSet11);把它改成this.sqlDataAdapter1.Fill(this.dataSet11,"table");如果还不行,把连接数据库的内容都给删了,重新做一次。
回复
swiminfish_9999 2004-10-30
this.sqlDataAdapter1.Fill(this.dataSet11);//

看看是不是要改成

this.sqlDataAdapter1.Fill(this.dataSet11,"table");

填充 dataSet 好像要有 table 的啊
回复
深山老翁 2004-10-30
异常详细信息: System.Data.SqlClient.SqlException是因缺少服务器而生成一个错误,看自己的连接是否正确,或把你的连接代码放出来看看:)
回复
oldrainman 2004-10-30
未连接
回复
发帖
C#
创建于2007-09-28

10.5w+

社区成员

.NET技术 C#
申请成为版主
帖子事件
创建了帖子
2004-10-30 07:52
社区公告

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