SQL Express 数据库文件自动创建错误【WebPart】
Harde的电脑安装的是VS2008、2010的TS版本,安装时没有安装SQL 2005、2008 Express
直接安装SQL Server 2008的企业版
要做个小东西,研究了下WebPart,结果出现了个怪现象
只要添加WebPartManager,以运行就报告
在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: SQL 网络接口, error: 26 – 定位指定的服务器/实例时出错)
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
SQLExpress 数据库文件自动创建错误:
连接字符串使用应用程序 App_Data 目录中的数据库位置指定了一个本地 SQL Server Express 实例。由于提供程序确定应用程序服务数据库不存在,因此试图自动创建该数据库。要成功检查应用程序服务数据库是否存在并自动创建应用程序服务数据库,必须满足下列配置要求:
- 如果应用程序 App_Data 目录不存在,则 Web 服务器帐户必须具有对应用程序目录的读写访问权限。这是因为如果不存在 App_Data 目录,Web 服务器帐户将会自动创建它。
- 如果应用程序 App_Data 目录已存在,则 Web 服务器帐户只要求对应用程序 App_Data 目录的读写访问权限。这是必要的,因为 Web 服务器帐户将尝试确认 SQL Server Express 数据库已在应用程序 App_Data 目录中。如果从 Web 服务器帐户撤消对 App_Data 目录的读访问权限,提供程序便无法正确地确定 SQL Server Express 数据库是否已存在。如果提供程序试图创建已存在的数据库的副本,就会出错。写访问权限是必需的,因为创建新数据库时需要使用 Web 服务器帐户凭据。
- 计算机上必须安装 SQL Server Express。
- Web 服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机帐户和域帐户创建本地用户配置文件的详细信息,请参见自述文档。
乍一看,以为是数据库没开启远程访问,不过貌似下面的异常又不是~
仔细看了下,提示的貌似是SQL Express问题~
万能的Google….
原因:WebPart使用个性化服务时需要在web.config文件里面配置一个连接字符串。
网上搜到的解决方案:
1、禁用个性化服务,修改WebPartManager的属性:Personalization -> Enabled 为 False【砍死】
2、运行 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe
按照提示安装数据库。【尝试无效,砍死】
3、在web.config文件的connectionStrings下加入一段连接字符串的配置:
[/xml” line=”1]
这段配置覆盖了默认的连接字符串,而使用自定义的。【半有效,砍死】
4、网上米有了….
Harde的终极解决方案:
卸载VS重装……事实上,介于微软家产品爱犯抽的特别个性,我是直接没看别的方案,一般卸载一般写了此文~