读书人

VS2008连接SQL2005有关问题

发布时间: 2012-05-22 18:18:54 作者: rapoo

VS2008连接SQL2005问题
自己电脑是服务器和客户机。
SQL我已经设置成了混合登陆模式,用户名和密码都是sa,而且SQL用sa已经登录成功了。
VS里连接用户名和密码我也是用的sa,数据库名也是对的,而且连接成功。
但是当我运行程序的时候就报错,说用户sa登录失败。
“/WebSite1”应用程序中的服务器错误。
--------------------------------------------

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

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

源错误:


行 55: {
行 56: sqlconn = new SqlConnection(strConn);
行 57: sqlconn.Open();
行 58:
行 59: sqlcmd = new SqlCommand();


源文件: D:\校标1\Solution1\DB\DBHelper.cs 行: 57

堆栈跟踪:


[SqlException (0x80131904): 用户 'sa' 登录失败。]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +800131
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +186
System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1932
System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +33
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +172
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +381
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +181
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +173
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +357
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +30
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +424
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +66
System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +494
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +82
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
System.Data.SqlClient.SqlConnection.Open() +111
DB.DBHelper.ExecQuery(String strName, SqlParameter[] sqlparas) in D:\校标1\Solution1\DB\DBHelper.cs:57
BEM.BEM_Product.Show() in D:\校标1\Solution1\BEM\BEM_Product.cs:18
_Default.Bind() in d:\校标1\WebSite1\Default.aspx.cs:27
_Default.Page_Load(Object sender, EventArgs e) in d:\校标1\WebSite1\Default.aspx.cs:20
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +15
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +33
System.Web.UI.Control.OnLoad(EventArgs e) +99
System.Web.UI.Control.LoadRecursive() +47
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436
这是报错信息。我在网上看了好多,都不能解决,麻烦大大们帮下忙。
DB层中的连接字符串是private string strConn = "server=(local);User ID=sa;Password=sa;database=TB001";


Web.config中的是<add key="strConn" value="server=(local);User ID=sa;Password=sa;database=TB001"/>

[解决办法]

登录数据库的用户名和密码是否正确,配置是否正确
server=(local);User ID=sa;Password=sa;database=master
[解决办法]
<connectionStrings>
<add name="bookstore" connectionString="server=127.0.0.1;database=...;uid=sa;pwd=sa" providerName="System.Data.SqlClient"/>
</connectionStrings>

加这个试试。
[解决办法]
server=(local); 看看你的数据库是本地的还是。。。看看你启动的服务是本地的服务还是NT的...只有本地的才可以用(local) NT上的要用数据库连接全名
[解决办法]
笨办法,就是拿个SqlDataSource控件,图形化连接一下,要是成功,就用自动生成的连接字符串。
[解决办法]
可能是你的链接字符串的问题
去www.conectionstrings.com参考链接字符串。
[解决办法]
server=./sqlexpress;User ID=sa;Password=sa;database=master

读书人网 >asp.net

热点推荐