老问题了,看了好多解决方案都不行,大家帮忙看下。用户 'sa' 登录失败。

aa162504 2011-11-05 10:19:55
“/”应用程序中的服务器错误。
--------------------------------------------------------------------------------

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

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

源错误:


行 24: // string connStr = ConfigurationManager.ConnectionStrings["ConnStr"].ConnectionString;
行 25: SqlConnection conn = new SqlConnection(connStr);
行 26: conn.Open();
行 27: SqlCommand cmd = new SqlCommand();
行 28: cmd.Connection = conn;


源文件: D:\Projects\WebApplication1\WebApplication1\Default.aspx.cs 行: 26

堆栈跟踪:


[SqlException (0x80131904): 用户 'sa' 登录失败。]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +4849015
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +194
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +2394
System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +35
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +144
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +342
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +221
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +189
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +185
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +31
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +433
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +499
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +65
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
System.Data.SqlClient.SqlConnection.Open() +122
WebApplication1._Default.Page_Load(Object sender, EventArgs e) in D:\Projects\WebApplication1\WebApplication1\Default.aspx.cs:26
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +50
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +627




--------------------------------------------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.4963; ASP.NET 版本:2.0.50727.4955


 string connStr = "server=localhost\\SQLEXPRESS;uid=sa;pwd=123;database=Student";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from student";
SqlDataReader dr = cmd.ExecuteReader();
this.DropDownList1.DataSource = dr;
this.DropDownList1.DataTextField = "name";
this.DropDownList1.DataBind();
if (conn.State == ConnectionState.Open)
{
conn.Close();
}


很简单的代码,就是想测试下能不能连上。结果就是连不上...
1 SQL 2005安全性启用了混合验证
2 启用了sa登录
3 密码正确

真的想不到了,能查的基本都看了,大家帮忙看看。
...全文
103 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
aa162504 2011-11-05
  • 打赏
  • 举报
回复
谢谢qgqch2008。解决了。就是连接字符串的问题。
呵呵...也谢谢大家的关注!
LONG332949572 2011-11-05
  • 打赏
  • 举报
回复
用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联
问题一、忘记了登录Microsoft SQL Server 2005 的sa的登录密码
解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,修改密码点击确定就可以了。
问题二、已成功与服务器建立连接,但是在登录过程中发生错取。(provider:共享内存提供程序,error:0-管道的另一端上无任何进程。)(Microsoft SQL Server,错误:233)
解决方法:打开‘程序’-‘所有程序’-‘Microsoft SQL Server 2005 ’-‘配置工具’-‘SQL Server 配置管理器’,在弹出的窗体中,找到‘SQL Server 2005 网络配置’,把‘MSSQLSERVER的协议’下的“Named Pipes”和“TCP/IP”启动,然后重新启动Microsoft SQL Server 2005就可以了。
问题三、无法打开用户默认数据库。登录失败。用户‘sa’登录失败。(Microsoft SQL Server, 错误:4064)
解决方法:先用windows身份验证的方式登录进去,然后在‘安全性’-‘登录’-右键单击‘sa’-‘属性’,将默认数据库设置成master,点击确定就可以了。

问题四、sql server 2005 错误 18452
无法连接到服务器
服务器:消息18452, 级别16,状态1
[Microsoft][ODBC SQL Server Driver][SQL Server]用户‘sa’登陆失败。原因:未与信任SQL Server连接相关联
该错误产生的原因是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(例如 sa )进行连接,解决方法如下
设置允许SQL Server身份登录 (基本上这个很有用)
操作步骤:
1。在企业管理器中,展开"SQL Server组",鼠标右键点击SQL Server服务器的名称
2。选择"属性"
3。再选择"安全性"选项卡
4。在"身份验证"下,选择"SQL Server和 Windows"
5。确定,并重新启动SQL Server服务
问题五、用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。
解决方法:检查你的数据库的认证模式,windows 和 混合模式,需要SA登陆的请选择混合模式。
检查计算机1433连接端口,1434数据端口是否打开
针对sql 2005 进入管理器中“安全”==》“用户”==》双击用户(弹出属性对话框)==》“状态”把状态改成enable,退出管理器重新登录(用户验证模式)
即:右键数据库属性对话框,选择“安全性”选项卡,服务器身份验证模式选择“SQL Server和Windows身份验证模式 。然后重新配置sa的登陆信息即可。
SQL SERVER 2005使用sa 登录失败-提示该用户与可信 SQL Server 连接无关联
错误提示:
sa 登录失败,提示该用户与可信 SQL Server 连接无关联
解决方法:
打开SQL Server Management Studio Express,
右键点击服务器,选择Properties(属性),在弹出窗口中点击Security(安全)切换到安全面板,
将server authentication服务器认证从windows authentication mode(windows用户认证模式)
修改为Sql Server and Windows Authentication mode(Sql server和windows认证模式),ok。
打开security(安全性) -- logins(登录名) ,右键选中sa,选择properties(属性),点击Status(状态)切换到状态面板,将Login(登录)设置为Enabled(启用)。

切记:一定要把SQL2005服务重启才生效。文章来自学IT网:http://www.xueit.com/html/2009-07/21_4151_00.html
DIASHAD 2011-11-05
  • 打赏
  • 举报
回复
同意上樓的意見,讓系統自己生成一個看一下,有什麼不同就出來了.
qgqch2008 2011-11-05
  • 打赏
  • 举报
回复
拖一個sqldatasource配置連接一下你的數據庫,把配置好的連接字符串拷過去就行
aa162504 2011-11-05
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 somnusnrlq 的回复:]
localhost\SQLEXPRESS
localhost代表本机 也可以用.代替 \后面是数据库实例名 如果你电脑只有一种数据库并且你安装时候默认的实例名 那就string connStr = @"server=.;uid=sa;pwd=123;database=Student";

如果你数据库的实例名字是你自己起的 你先打开数据库 看看数据库能连接上吗 如果能 把打开数据库时候现实的……
[/Quote]
试过了,也不行。
哎,一上午就弄个这了。心烦呀...
aa162504 2011-11-05
  • 打赏
  • 举报
回复
数据库是express版的,是不是换下企业版的就好了?
somnusnrlq 2011-11-05
  • 打赏
  • 举报
回复
localhost\SQLEXPRESS
localhost代表本机 也可以用.代替 \后面是数据库实例名 如果你电脑只有一种数据库并且你安装时候默认的实例名 那就string connStr = @"server=.;uid=sa;pwd=123;database=Student";

如果你数据库的实例名字是你自己起的 你先打开数据库 看看数据库能连接上吗 如果能 把打开数据库时候现实的服务器名称 拷贝过来 比如
string connStr = @"server=.\sql2005;uid=sa;pwd=123;database=Student";

.\sql2005 这个就是你数据库服务器名称
暖枫无敌 2011-11-05
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 aa162504 的回复:]

引用 2 楼 taomanman 的回复:
C# code


string connStr = @"server=localhost\SQLEXPRESS;uid=sa;pwd=123;database=Student";
using(SqlConnection conn = new SqlConnection(connStr))
{
……


刚试了下,还是不行...
[/Quote]

那就是你连接串有问题

localhost\SQLEXPRESS

你用的是SQL Server Express版的,还是SQL Server企业版的?

aa162504 2011-11-05
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 taomanman 的回复:]
C# code


string connStr = @"server=localhost\SQLEXPRESS;uid=sa;pwd=123;database=Student";
using(SqlConnection conn = new SqlConnection(connStr))
{
……
[/Quote]

刚试了下,还是不行...
dazhong23 2011-11-05
  • 打赏
  • 举报
回复
外围配置里设置下,让IP和名称都能访问试试。
直接打开数据库用上面两种方式试试。
暖枫无敌 2011-11-05
  • 打赏
  • 举报
回复

string connStr = @"server=localhost\SQLEXPRESS;uid=sa;pwd=123;database=Student";
using(SqlConnection conn = new SqlConnection(connStr))
{
conn.Open();
string strSQL = "select * from student";
SqlDataAdapter sda = new SqlDataAdapter(strSQL,conn);
DataSet ds = new DataSet();
sda.Fill(ds);
this.DropDownList1.DataSource = ds;
this.DropDownList1.DataTextField = "name";
this.DropDownList1.DataValueField = "name";
this.DropDownList1.DataBind();
}
aa162504 2011-11-05
  • 打赏
  • 举报
回复
堆栈跟踪看不懂...

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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