SqlServer2005用户sa登录失败
调试连接数据库失败。刚装sql2005时,选择windows登录。后面发现在代码中用sa连接数据库失败。于是更改sql设置:
在sql设置中改为混合模式,用户名为sa,,密码为空。
默认数据库连接为forcastserver(自己建的库),服务器角色勾选public、sysadmin
用户映射勾选了forcastserver以及master等系统数据库,角色成员身份勾选db_owner、public
状态登录选择启用。常规设置中去掉了下次登录必须更改密码。
但测试还是连接失败。但在sql management studio express 中可以使用sa 连接到数据库。
在vs2008中服务器资源管理器数据连接的节点中,右键点击akslj\sqlexpress.forcastserver.dbo-》修改连接-》选择使用sql server身份验证,用户名为sa,密码为空,数据库选择forcastserver,点击测试连接 ,提示连接成功。
现在不知道是什么原因了,sql、vs服务器资源管理器都可以通过sa连接数据库,为什么程序运行出错呢?
sql 2005 无法使用特殊主体sa
//......上面读取数据代码省略 string ConStr = "server=(local);user id=sa;pwd=;database=forcastserver"; SqlConnection conn = new SqlConnection(ConStr); conn.Open();//执行到这里就出错 ,提示“未处理 sqlexception ,用户sa登录失败” string SqlIns; qlIns = "insert into tb_hourdata values('"+SID [i]+"','"+Ri_Shi [i]+"',)";//字段添加列表 conn.Close();
未处理 System.Data.SqlClient.SqlException Message="用户 'sa' 登录失败。" Source=".Net SqlClient Data Provider" ErrorCode=-2146232060 Class=14 LineNumber=65536 Number=18456 Procedure="" Server="(local)" State=1 StackTrace: 在 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 在 System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) 在 System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) 在 System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) 在 System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) 在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) 在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) 在 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) 在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) 在 System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 在 System.Data.SqlClient.SqlConnection.Open() 在 文件监控入库.Program.RedData(String filepath) 位置 E:\程序设计\C#工程文件\资料入库程序\文件监控入库\文件监控入库\文件监控入库\Program.cs:行号 140 在 文件监控入库.Program.OnCreated(Object source, FileSystemEventArgs e) 位置 E:\程序设计\C#工程文件\资料入库程序\文件监控入库\文件监控入库\文件监控入库\Program.cs:行号 40 在 System.IO.FileSystemWatcher.CompletionStatusChanged(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* overlappedPointer) 在 System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32 errorCode, UInt32 numBytes, NativeOverlapped* pOVERLAP) InnerException: