珍珠翡翠白玉汤

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1.在安装时,配置数据库连接时,为什么要求给出两个数据库连接的信息?
  PetShop项目有两个数据库,MSPetShop和MSPetShopOrders。
  可以将这两个数据库都安装到SQL Server中,也可以都安装到Oracle中,还可以将一个数据库安装到SQL Server,另一个安装到Oracle中。
  asp.net如何访问这两个后台数据库,奥妙尽在Web项目的配置文件web.config中。
    <add key="WebDAL" value="PetShop.SQLServerDAL" />
    <add key="OrdersDAL" value="PetShop.SQLServerDAL" />

2.无法在Web服务器上启动调试。
  修改Web项目配置文件web.config。
  <compilation defaultLanguage="c#" debug="false" /> 修改为
  <compilation defaultLanguage="c#" debug="true" />

3.用浏览器浏览时,中文字符显示为"?"
  修改Web项目配置文件web.config。
  <globalization requestEncoding="ascii" responseEncoding="ascii" /> 修改为
  <globalization requestEncoding="utf-8" responseEncoding="utf-8" />

4.出现"SQL Server 不存在或访问被拒绝"的错误
  如果SQL Server在安装时,如果使用的不是默认实例名,在浏览PetShop时,就会出现"SQL Server 不存在或访问被拒绝"的错误。
  Web项目的配置文件web.config中的数据库连接字符串是加密的,不能直接修改。要修改web.config文件的数据库连接字符串,需要使用ConfigTool项目的生成文件。
  进入ConfigTool\bin\Release目录,打开PetShopConfigTool.exe.Config文件
1)修改 <add key="WebConfigFileLocation" value="Web\Web.config" />为
  <add key="WebConfigFileLocation" value="..\..\..\Web\Web.config" />
2)修改SQL Server服务器名称。 eg: 将 server=localhost 全部修改为 server=zqf\netsdk
  最后,执行PetShopConfigTool.exe,这样就修改了web.config文件中的加密的连接字符串。

  如果SQL Server服务器的身份验证模式不是混合验证模式,也会出问题。要修改SQL Server的身份验证模式,请在企业管理器中打开SQL Server服务器的属性页,选择"安全性"选项卡,在"身份验证"中选择"SQL Server和Windows"。

5.在调试时,设置断点,vs.net却提示"当前不会命中断点"
  打开解决方案的属性页,选择"配置属性"-"配置",在"配置(C)"下拉列表中选择"活动(Debug)",然后将"项目上下文"中各个项目的配置由"Release"修改为"Debug"。
修改前:
修改后:

6.登录PetShop时,用户名和密码都不区分大小写
  用户名和密码都不能区分大小写,这都是SQL Server的排序规则惹的祸。中文版SQL Server在安装时,数据库默认的排序规则是Chinese_PRC_CI_AS,这里CI_AS的意思是"不区分大小写、区分重音、不区分假名类型、不区分宽度",我们需要将排序规则改为"区分大小写"。
  在企业管理器中,创建新数据库时,可以指定数据库的排序规则。一旦数据库创建完成,就无法再修改数据库的排序规则了。
  要解决用户密码不区分大小写的问题,只能修改表SignOn的Password列的排序规则。
  在企业管理器中,打开数据库MSPetShop的表SignOn的设计视图,将Password列的排序规则修改为Chinese_PRC_CS_AS或Chinese_PRC_CS_AI。
如图:
  要解决用户名不区分大小写的问题,要同时修改表Account和Profile的UserId列、表SignOn的UserName列的排序规则。
  如果只修改了SignOn.UserName列的排序规则,会报错"无法解决 equal to 操作的排序规则冲突"。这三个列的排序规则必须保持一致,查看PetShop.SQLServerDAL.Account类的源码,就会发现这三个列出现在同一个sql语句中(Account类的SQL_SELECT_ACCOUNT字段)并用于内连接。

 

 

posted on 2007-02-28 16:24  zqf620  阅读(1145)  评论(2编辑  收藏  举报