ASP.NET 2.0 基于 SQLSERVER 2008 的 aspnetdb.mdf 部署
由于本人机器上仅安装 SQLSERVER2005 ,而没有装 SQLSERVER EXPRESS ,于是在部署 user profile 时遇到了 aspnetdb.mdf 无法连接的问题,经过一番折腾,总算解决了,下面把经验写下来与大家分享 , 我的系统式 Windows Server 2003 。
1. 由于没有 aspnetdb.mdf 数据库,因此得先建立一个,这个可以通过 aspnet_regsql.exe 完成,该程序位于 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/ 下。运行它之后会弹出 [ 图 1] 的窗口:
图 1 ASP.NET SQL Server 安装向导
2. 单击“下一步”进入图 2
图 2 选择执行的数据库任务
3. 在图 2 中,我们会发现除了有配置数据库外,还有删除数据库的功能,以后说不定可以派上用场,现在自然选 Configure SQL Server for application services ,按 "Next >" 按钮,进入图 3 。
图 3 选择服务器和数据库
4. 一般情况下服务器设置为默认,图 3 中的 HZH 是我本机名。我们要使用 SQL Server 身份认证 , 设置一个数据库管理员的密码。这里默认为 sa 。下面的数据库选项,如果您要单独使用一个数据库来管理授权和认证,请保持默认设置,单击“下一步”进入确认设置,如图 4 。我要把 aspnetdb 数据库配置到我自己项目的数据库中因此,我选中了 ZCOA 数据库 , 如图 5 。
图 4 配置为独立数据库
图 5 配制到其他数据库中
图 6 确认设置
5. 单击“下一步”数据库就会按照我们的配置进行安装 , 当 Finish 按钮亮起时,表明数据库安装成功,一切顺利!
6. 设置项目的连接字符串
默认情况下, web.config 中的 LocalSqlServer 属性是这样配置的:
CODE:
add name="LocalSqlServer" connectionString="Data Source=./SQLExpress;Integrated Security=true; AttachDBFileName=|DataDirectory|aspnetdb.mdf;User Instance=True" providerName="System.Data.SqlClient"
该连接字符串是专门为 SQLSERVER EXPRESS 准备的,如果没有安装 SQLSERVER EXPRESS 就会出现以下错误
CODE:
An error has occurred while establishing a connection to the server. When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
数据库无法连接。解决方法:正确的连接字符串的格式
add name="LocalSqlServer" connectionString="Data Source=[Instance Name];Initial Catalog=aspnetdb;Integrated Security=false;UID=sa;PWD=xxxxxx"
也可以直接使用我们项目的连接字符串
Server=192.168.1.37;Database=ZCOA;User ID=sa;Password=sa;
Aspnetdb 数据库部署到此结束