当PetShop4.0运行遭遇意外

来源:互联网 发布:网络大电影制作收费 编辑:程序博客网 时间:2024/05/06 01:50

写于2009-03-20 11:33

今天我想把在运行PetShop4.0时遇到的真实案例与大家一同探讨。

因为前2天重装了系统。PetShop4.0也就不存在C盘了,所以今天我重装了,呵呵。装好PetShop4.0后,我就开始运行了,但是问题随之出现了,22个项目全部生成成功,但是就是网页老是弹出已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)”,后来我就想是不是服务没有启动,因为我的服务是自动启动的,我没有更改为手动。说到服务,我想起了Distributed Transaction Coordinator服务应该要打开,我就马上把Distributed Transaction Coordinator开启了。

但是再运行的时候却弹出了用户 'mspetshop' 登录失败。该用户与可信 SQL Server 连接无关联。 的错误报告。具体内容如下:



“/Web”
应用程序中的服务器错误。
--------------------------------------------------------------------------------

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

异常详细信息: System.Data.SqlClient.SqlException: 用户 'mspetshop' 登录失败。该用户与可信 SQL Server 连接无关联。

源错误:


216:
217: if (conn.State != ConnectionState.Open)
218: conn.Open();
219:
220: cmd.Connection = conn;


源文件: D:/Program Files/Microsoft/.NET Pet Shop 4.0/DBUtility/SQLHelper.cs : 218

 

这是怎么回事呢?我郁闷了,随后我就到百度里百度了一把,原来是数据库出了问题。我想了想,我安装数据库的时候没有启用windows和密码共同验证体系。也就是说没有设置数据库服务器密码。这样就导致了登陆时只能windows验证了,也就不能对 PetShop4.0 4个数据库设置相应的密码了,这可怎么办啊?

这时候解决的办法应该有2个,一是设置数据库密码,具体操作如下:

  1:打开SQL Server Manager管理器!在左面找到 ‘安全性’ 单击右键 选择‘新建”,“登录” 弹出一个对话框,在登录名中输入你的登录号,选择'SQLSERVER身份验证',并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。     点击‘用户映射’,在右面选择PetShop4.0要映射的数据库,并在前面打勾!在下面一栏中‘db-owner’和‘public’前面打勾。然后点击'状态'在右面栏中选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。

    2:找到SQL服务器,在左栏中上面,单击右键,在弹出的菜单中选择“属性”命令。弹出一个对话框,单击“安全性”,在“服务器身份验证”下面选择“SQL SERVERWINDOWS身份验证模式”,在前面打勾!记得这一步很重要,如果没有这一步你就别想登录成功!然后单击“确定”就可以了!

     3:重新启动服务就可以选择SQL SERVER 身份验证模式登录了!输入刚才的用户名和密码就可以登录成功了!

2种解决办法就直接到 PetShop4.0web.config中改connectionStrings节点,直接把连接方式的user lang=EN-US style="FONT-SIZE: 12pt; COLOR: blue; FONT-FAMILY: 宋体; mso-font-kerning: 0pt; mso-no-proof: yes">integrated Security=true,也就是说把数据库连接方式统一改为windows登陆连接模式。这样问题就解决了,但是你打开了web.config,你会发现你找了好久你都没有找到你要找的关于数据库连接部分的字符串,这是怎么回事呢,这是因为微软的一种保密策略。那么我应该怎么做呢?只有直接改动核心部分了,到C:/Program Files/Microsoft/.NET Pet Shop 4.0(当然不一定是C盘,你当时把PetShop4.0安装在哪个盘,盘符就是哪个)中找到DecryptWebConfig.bat文件然后点击它,这时候它就把封装的关于字符串部分的字段给改为可见并且可编辑了,你再替换就OK了,就这么简单。

我要是没有遇到这种问题,我也不会去找到答案,希望遇到类似问题的朋友们善于借鉴,少走弯路。

有机会大家多交流哦,呵呵。

原创粉丝点击