当前位置:编程学习 > C#/ASP.NET >>

求web.config配置数据库问题!

<connectionStrings>
    <add name="xxxDB" connectionString="server=xxxx;database=xxxDB;User ID=xxx;Password=xxx"/>
  </connectionStrings>



异常详细信息:
System.Data.SqlClient.SqlException: 无法打开登录 'xxxDB' 中请求的数据库。登录失败。
用户 'xxxx'登录失败。

堆栈:
[SqlException (0x80131904): 无法打开登录 'xxxDB' 中请求的数据库。登录失败。
用户 'xxxx' 登录失败。]
   System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +821651
   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
--------------------编程问答-------------------- 求解答,不胜感激 --------------------编程问答-------------------- 估计是“server=xxxx”有问题,服务器的名称一般为“.”,表示本机;如果不为本机就需要写成你的sql服务器的实例名了。
你可以用“server=.”先试试。还有,检查一下database=xxxDB;User ID=xxx;Password=xxx这些值都对不对,依次表示数据库名、登录名、登录密码。检查一下。 --------------------编程问答--------------------
引用 2 楼 dalmeeme 的回复:
估计是“server=xxxx”有问题,服务器的名称一般为“.”,表示本机;如果不为本机就需要写成你的sql服务器的实例名了。
你可以用“server=.”先试试。还有,检查一下database=xxxDB;User ID=xxx;Password=xxx这些值都对不对,依次表示数据库名、登录名、登录密码。检查一下。


我知道,网站发布后连接服务器上的数据库。“server=XXX”应该用服务器的IP是不? --------------------编程问答-------------------- 对,如果你用的是虚拟主机的话,服务商会给你数据库服务器的IP的。 --------------------编程问答--------------------
引用 4 楼 dalmeeme 的回复:
对,如果你用的是虚拟主机的话,服务商会给你数据库服务器的IP的。


那我的设置就没错啊。可怎么报错呢。 --------------------编程问答-------------------- 一般服务商给你的用户名和密码不会是User ID=xxx;Password=xxx,不会都是xxx吧。你再检查一下连接字符串,要么就是你的服务商出错了。
按照csdn的系统设置,最多只能回复3次。呵呵,帮不了你了。 --------------------编程问答-------------------- 1.把User ID=xxx;Password=xxx换成Integrated Security=True
2.server值的设置,可以设成IP,也可以把sql server服务管理器中的服务器名粘贴过来~
  应该就是这两处了,你多试试 --------------------编程问答-------------------- 数据库名对么? --------------------编程问答--------------------

 <connectionStrings>
    <add name="连接字符串名" connectionString="Data Source=服务器IP;Initial Catalog=数据库名;User ID=用户名;Password=用户密码" providerName="System.Data.SqlClient"/>
  </connectionStrings>
--------------------编程问答-------------------- 服务器名?登录,账号名?
一种简单的方法,用SqlDataSource连接到数据库并将连接字符串保存在配置文件中比较一下就知道了 --------------------编程问答-------------------- server=你数据库对应的连接服务器 --------------------编程问答-------------------- 格式写的都正确,关键是里面字符串可能没配置好,你要看一下数据源是否对了,如果是本机的话,最好用(local)或.,再者用户名和密码有对吗,数据库有该用户名和密码吗,有开启sql server身份验证吗,你可以先用数据库软件测试是否连接成功 --------------------编程问答--------------------
引用 9 楼 porschev 的回复:
C# code
 <connectionStrings>
    <add name="连接字符串名" connectionString="Data Source=服务器IP;Initial Catalog=数据库名;User ID=用户名;Password=用户密码" providerName="System.Data.SqlClient"/>
  </connectionStrings>


如果还是不行,你可以用vs  的SqlDataSource 配置数据源,连接正常后将其连接字符串 替换  

Data Source=服务器IP;Initial Catalog=数据库名;User ID=用户名;Password=用户密码

就可以了 --------------------编程问答-------------------- 注意sql远程端口 1433
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,