Win 7 装 SQL Server 2008 后使用 Asp.Net 需要进行的一些配置

我的系统是 64 位的 WIN7,装了 SQL Server 2008 (不是Express)之后发现使用 Profile 的功能都挂了,页面报出各种诡异的黄屏,具体的解决方法是这样的:

需要从 Visual Studio Command Prompt 运行 aspnet_regsql 为 ASP.NET Providers 指定一个数据库(默认是 aspnetdb)

非 Express 版本的 SQL Server 不支持 User Instancing,也就是说在连接字符串中要包括 User Instance=false

machine.config 的位置在 64 位系统上至少有两个:

  • %systemroot%\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG
  • %systemroot%\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG

这两个文件修改的内容是:

<connectionStrings>
    <add name="LocalSqlServer" connectionString="Data Source=.\SQLEXPRESS;Integrated Security=True;Initial Catalog=aspnetdb;User Instance=false" providerName="System.Data.SqlClient"/>
</connectionStrings>

注意:记事本需要用管理员账号打开,打开后查找 LocalSqlServer 可以快速定位到这里

还有 IIS 管理控制台那个 LocalSqlServer 连接字符串也要改成上面那样

 

Win7 的 IIS 7.5 还默认使用了 ApplicationPoolIdentity,不配置 SQL Server 会导致数据库访问出现 Login fail,具体解释可以看以下两个资源:

http://social.msdn.microsoft.com/Forums/zh-TW/236/thread/33f314d7-6c28-47f9-9076-732ef37c6419

http://blog.miniasp.com/post/2009/09/Introduce-IIS-75-Application-Pool-Identity-and-Virtual-Account.aspx

解决方法就在里面了!

posted @ 2010-01-25 15:44 DiryBoy 阅读(...) 评论(...) 编辑 收藏