日期:2014-05-18  浏览次数:20421 次

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

源错误: 

C# code
行 30:     {
行 31:         SqlAdpter.SelectCommand = new SqlCommand(QueryString, SqlConn);
行 32:         SqlAdpter.Fill(ds, "temp");
行 33:         return ds;
行 34:     }







源文件: e:\chinaciqi\chinaciqi.com\jq.chinaciqi.com\App_Code\db2.cs 行: 32 

在本地调试时,连接的是本地SQL,无任何错误,程序运行正常,但放到服务器上,出上以上问题,用户密码无错,并且是用此系统,用服务器SQL,用户名密码,可进行查询,登录操作,但进行更新,删除等操作时,出现以上错误,请问为什么? 

到网上搜索,有些人回答是SQL用户没权限,但是此服务器上的asp程序用的也是这个SQL,用户名和密码,一切操作正常,请问各位高手,这是为什么,怎么修改?谢谢!

------解决方案--------------------
身份验证有关系

------解决方案--------------------
执行下列步骤,以关闭 Internet 服务管理器中的“匿名访问”: 
启动“Internet 信息服务”工具。可以在控制面板中的管理工具下运行该工具。 
展开服务器的节点。 
右击“默认 Web 站点”节点,并从快捷键菜单中选择“属性”。 
单击“目录安全性”选项卡。 
单击“匿名访问和验证控制”节中的“编辑”按钮。 
清除“匿名访问”复选框。 
确保已经选定了“集成 Windows 身份验证”复选框。 
在解决方案资源管理器中,双击 Visual Studio 项目中的 Web.config 文件以显示 XML 代码,并做如下更改: 
将下面的行: 
<authentication mode="None" /> 

更改为: 

<authentication mode="Windows" /> 

在标记 <System.Web> 后插入下面的行: 
<identity impersonate="true" /> 

------解决方案--------------------
因为lz没有在webconfig配置数据库连接串,而是每一次进行增删改操作都有一个常量的数据库连接串,你的登录和查询操作的数据库连接串是正确的,而你的更新和删除的数据库连接串是错误的,
直接解决方法是修改你的更新和删除操作的数据库连接串
根本解决方法是用专用的数据访问组件,微软的几个项目例子中都提供了,建议lz看看
------解决方案--------------------
1、数据库服务器启用了混合登录了吗?
2、数据库服务器里存在china这个用户,并且它对应的密码是chinaciqi吗?

我的是服务器上的数据库,而不是你开发时用的机器。
------解决方案--------------------
感觉就是权限的问题.
你的3个数据库连接ID不一样,应该先去确认一下每个ID的权限是否正确
------解决方案--------------------
UP~
------解决方案--------------------
权限问题
用windows身份验证

表的所有者是不是dbo呀
sql语句里不要有dbo
------解决方案--------------------
探讨
web.config的部分内容:

C# code
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings>
<add name="shopConnectionString" connectionString="Data Source=(local);Initial Catalog=shop;User ID=ciqishop;Password=shopciqi"
providerName="System.Data.SqlClient" />
<add name="parkConnectionString" connectionString="Data Source=(local);Initial Catalog=chinaciqimian;User…