假如你安装的是完整版SQL Server,那么使用Asp.Net的网站配置工具的时候会出现如下错误:
未能建立数据库连接。 如果尚未创建 SQL Server 数据库,请退出网站管理工具,使用 aspnet_regsql 命令行实用工具创建和配置数据库,然后返回到此工具以设置提供程序。
一般情况下,.net会默认让程序在当前网站的app_data目录里面找数据库,然后用sql server express打开,这体现在iis的默认连接字符串配置,和机器的machine.config里面:
data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true
问题是你当然不能直接把它改掉,因为我们既然用了完整版数据库,那么肯定是把用户/角色/权限信息写在当前数据库里,不可能单独建个数据库存到app_data里面,
解决起来也简单,程序是默认搜索名为:LocalSqlServer的连接字符串,那么我们只要在网站的web.config文件里面把它覆盖掉就可以了,注意,要覆盖就要先remove,然后再add,不然会报已定义过一次
<connectionStrings> <remove name="LocalSqlServer"/> <add name="LocalSqlServer" connectionString="Data Source=.;Initial Catalog=databasename;User Id=sa;Password=pwd;Trusted_Connection=True;" providerName="System.Data.SqlClient"/> </connectionStrings>