现在的位置: 首页 > 综合 > 正文

WebPart创建定制页面:SQLExpress 数据库文件自动创建错误

2013年12月10日 ⁄ 综合 ⁄ 共 1341字 ⁄ 字号 评论关闭
文章目录

转自:http://blog.csdn.net/sage425/article/details/6043167

在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)

说明:
执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

SQLExpress 数据库文件自动创建错误:

连接字符串使用应用程序 App_Data 目录中的数据库位置指定了一个本地 SQL Server Express实例。由于提供程序确定应用程序服务数据库不存在,因此试图自动创建该数据库。要成功检查应用程序服务数据库是否存在并自动创建应用程序服务数据库,必须满足下列配置要求:

  1. 如果应用程序 App_Data 目录不存在,则 Web 服务器帐户必须具有对应用程序目录的读写访问权限。这是因为如果不存在 App_Data 目录,Web 服务器帐户将会自动创建它。
  2. 如果应用程序 App_Data 目录已存在,则 Web 服务器帐户只要求对应用程序 App_Data目录的读写访问权限。这是必要的,因为 Web 服务器帐户将尝试确认 SQL Server Express 数据库已在应用程序 App_Data目录中。如果从 Web 服务器帐户撤消对 App_Data 目录的读访问权限,提供程序便无法正确地确定 SQL Server Express数据库是否已存在。如果提供程序试图创建已存在的数据库的副本,就会出错。写访问权限是必需的,因为创建新数据库时需要使用 Web
    服务器帐户凭据。
  3. 计算机上必须安装 SQL Server Express。
  4. Web 服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机帐户和域帐户创建本地用户配置文件的详细信息,请参见自述文档。

解决办法:(数据库中缺少aspnetdb)

因为WebPart使用个性化服务时需要在web.config文件里面配置一个连接字符串。

解决方法:

1、禁用个性化服务,修改WebPartManager的属性:Personalization -> Enabled 为 False

2、如果需要使用个性化服务:

a. 运行 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regsql.exe

按照提示安装数据库。

b. 在web.config文件的connectionStrings下加入一段连接字符串的配置:

<connectionStrings>

    <remove name="LocalSqlServer" />

    <add name="LocalSqlServer" connectionString="Data Source=localhost;Initial Catalog=aspnetdb;Persist Security Info=True;User ID=sa;Password=*****"

         providerName="System.Data.SqlClient" />

</connectionStrings>

这段配置覆盖了默认的连接字符串,而使用自定义的。

 

抱歉!评论已关闭.