WebPart-----asp.net ajax CTP 拖拽控件使用时的数据库连接问题
2008-02-27 16:03
746 查看
转自:http://blog.csdn.net/longren629/archive/2007/04/13/1563894.aspx
最近开始学习.NET 2.0了,才开始就被问题困扰了....
我很喜欢.NET 2.0中的WebPart这项功能,可是,我刚刚按教程上教的在页面上放了一个WebPartManager,然后运行,结果就报错了:
说明: 执行当前 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 服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机帐户和域帐户创建本地用户配置文件的详细信息,请参见自述文档。
源错误:
堆栈跟踪:
版本信息: Microsoft .NET Framework 版本:2.0.50727.42; ASP.NET 版本:2.0.50727.42
经过一番搜查,问题终于有了答案。
原来,WebPart使用个性化服务时需要在web.config文件里面配置一个连接字符串。
好了,解决方法如下:
第一种方法是禁用个性化服务,修改WebPartManager的属性:Personalization -> Enabled 为 False
如果需要使用个性化服务,就得使用下面这个办法:
1. 运行 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regsql.exe
按照提示安装数据库。
2. 在web.config文件的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" />
这段配置覆盖了默认的连接字符串,而使用自定义的。
总算,问题解决了。
最近开始学习.NET 2.0了,才开始就被问题困扰了....
我很喜欢.NET 2.0中的WebPart这项功能,可是,我刚刚按教程上教的在页面上放了一个WebPartManager,然后运行,结果就报错了:
说明: 执行当前 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 服务器帐户的进程标识必须具有本地用户配置文件。有关如何为计算机帐户和域帐户创建本地用户配置文件的详细信息,请参见自述文档。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。 |
[code][SqlException (0x80131904): 在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)] System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +173 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +199 System.Data.SqlClient.TdsParser.Connect(Boolean& useFailoverPartner, Boolean& failoverDemandDone, String host, String failoverPartner, String protocol, SqlInternalConnectionTds connHandler, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject, Boolean aliasLookup) +1069 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +606 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +193 System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +219 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +27 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +49 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +89 System.Data.SqlClient.SqlConnection.Open() +160 System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString) +67[HttpException (0x80004005): 无法连接到 SQL Server 数据库。] System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString) +123 System.Web.Management.SqlServices.SetupApplicationServices(String server, String user, String password, Boolean trusted, String connectionString, String database, String dbFileName, SqlFeatures features, Boolean install) +89 System.Web.Management.SqlServices.Install(String database, String dbFileName, String connectionString) +26 System.Web.DataAccess.SqlConnectionHelper.CreateMdfFile(String fullFileName, String dataDir, String connectionString) +388 [/code] |
经过一番搜查,问题终于有了答案。
原来,WebPart使用个性化服务时需要在web.config文件里面配置一个连接字符串。
好了,解决方法如下:
第一种方法是禁用个性化服务,修改WebPartManager的属性:Personalization -> Enabled 为 False
如果需要使用个性化服务,就得使用下面这个办法:
1. 运行 C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/aspnet_regsql.exe
按照提示安装数据库。
2. 在web.config文件的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" />
这段配置覆盖了默认的连接字符串,而使用自定义的。
总算,问题解决了。
“/WebSite1”应用程序中的服务器错误。
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错)
相关文章推荐
- ASP.NET的MEMBERSHIP问题:你在用WEBPART, 登陆控件的时候,可能会发生的数据库连接错误。
- 关于asp.net页面同时使用ajax控件和Freetextbox控件的问题!
- asp.net中使用 Repeater控件拖拽实现排序并同步数据库字段排序
- ASP.NET - 如何:使用 SqlDataSource 控件连接到数据库
- ASP.NET - 如何:使用 AccessDataSource 控件连接到 Access 数据库
- 树型节点与数据库的动态连接(asp.net 2.0 TreeView控件的使用)
- asp.net中使用 Repeater控件拖拽实现排序并同步数据库字段排序
- ASP.NET中TextBox使用Ajax控件显示日期不全的问题解决方法
- asp中遇到的几个问题——数据库连接,几个常见控件的使用问题及其解决
- asp.net中SqlDataReader使用时关闭数据库连接的问题(转)
- ASP.NET中TextBox使用Ajax控件显示日期不全的问题解决方法
- 绝对酷,如何解决asp.net中javascript脚本的问题(使用服务器控件执行客户端脚本)
- ASP.net 2005 与SQLExpress的数据库连接问题
- 一起谈.NET技术,asp.net Ajax ---AutoComplete控件使用
- 解决在asp.net中 使用 ajax UpdatePanel出现乱码问题的解决方案
- asp.net用户控件中使用相对路径的解决方法--------图片路径问题(用户控件、图片路径),ResolveUrl
- ASP.NET 2.0中使用webpart系列控件(2)
- 关于部署完asp.net程序后不能访问页面也不能连接数据库的问题
- 使用ASP.NET AJAX Control Toolkit中的ReorderList控件实现用鼠标拖动改变条目顺序
- 在asp.net mvc中使用百度UEditor初始化内容遇到自数据库中读取的html字符串在UEditor中始终是html编码的问题