DBMNG数据库管理与应用

科学是实事求是的学问,来不得半点虚假。
当前位置:首页 > Access > 驱动及连接

asp.net连接access总是提示conn.open();错误

asp.net 连接access总是提示conn.open错误, if (con.State == ConnectionState.Closed) { con.Open(); }

ASP.NET 中,连接 Access 时,遇到: OleDbException (0x80004005): 未指定的错误的错误,英文为: OleDbException (0x80004005): Unspecified error

情况一: ASP.NET 帐户或模拟帐户没有在 Access 文件所有文件夹生成 .ldf 文件的权限。

情况二: 如果你使用的是模拟帐户,你需要给 C:\Documents and Settings\MachineName\ASPNET\Local Settings\Temp 赋完全权限。 以下是微软官方的解决方案,希望对你也能有所帮助: OleDbException (0x80004005):未指定的错误

症状 如果以下所有条件都成立可能收到错误信息:

• 在默认 ASPNET 帐户运行 ASP.NET 工作进程 (Aspnet _ wp.exe)。  • 不启用模拟应用程序上。 

 • SQLServer.NET 数据提供程序或 OLEDB .NET 数据提供程序用于连接到数据库。 您可能收到以下错误信息之一: 消息

 1 OleDbException (0x80004005): [ DBNETLIB ] ] [ ConnectionOpen (Connect())。 没有 SQLServer 或访问拒绝 ]。 

 2 SqlException (0x80004005): [ DBNETLIB ] ] [ ConnectionOpen (Connect())。 没有 SQLServer 或访问拒绝 ]。

 3  System.Data.SqlClient.SqlException: SQLServer 不存在或拒绝访问 消息

4 System.Data.OleDbClient.OleDbException: SQLServer 不存在或拒绝访问

原因 当如果您没有启用模拟为应用程序, ASP.NET 辅助进程在 ASPNET 帐户, 运行所有线程运行对应用程序请求在进程帐户运行。 ASPNET 帐户无法建立命名管道连接到数据库服务器。

解决方案 要解决此问题, 使用下列方法之一: • 打开您 ASP.NET 应用程序上模拟。 如果模拟用户具有到数据库服务器, 您访问到计算机和访问该方法效果。 • 使用传输控制协议 / Internet 协议 (TCP/IP) 代替命名管道协议来连接到数据库。 为了连接字符串这样, 添加下列属性: "Network Library =dbmssocn"       例如:"User ID=myUserId;Password=myPassword;Initial Catalog=Pubs;Data Source=myServer;Network Library =dbmssocn"     • 检查数据库是否启用该协议。 对于 SQLServer 数据库, 运行 SQLServer 网络实用工具要检查特定协议。  

参考 有关安全性, 请单击下列文章编号以查看 Microsoft 知识库中相应: 306590 (http://support.microsoft.com/kb/306590/) ASP.NET 安全性概述 有关 <processModel> 节, 的详细信息请参阅到以下 MSDN 文档: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/gngrfprocessmodelsection.asp (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/gngrfprocessmodelsection.asp)

本站文章内容,部分来自于互联网,若侵犯了您的权益,请致邮件chuanghui423#sohu.com(请将#换为@)联系,我们会尽快核实后删除。
Copyright © 2006-2023 DBMNG.COM All Rights Reserved. Powered by DEVSOARTECH            豫ICP备11002312号-2

豫公网安备 41010502002439号