您的位置:首页 > 编程语言 > ASP

Asp/asp.net下Access数据库查询和更新的各种问题解决方案

2011-03-29 11:19 375 查看
这里仅以ASP为例,asp.net根据不同语言(VBScript, C#等可能略有差异)调整相关语句即可。

1. 无法连接数据库相关的错误:

(1)数据库连接字符串有误:

有人使用:

connstr="DBQ="+server.mappath("../data/dbname.mdb")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"

这个不太具有通用性,有时会在一些服务器上出错。使用以下连接字符串更好一些:

connstr="provider=microsoft.Jet.OLEDB.4.0;data source='" & Server.Mappath("../data/dbname.mdb")  & "'"

(2)有时还会遇到错误,常见的出错原因可能为数据库的父目录问题,诸如上述的"../data/dbname.mdb",它是指向当前目录的上一级目录下的某个目录下的数据库文件或直接的数据库文件),由于Server 2003 IIS的设置问题,需要点击所属站点右键 - 属性 - 主目录选项卡再点击“配置”,在应用程序配置的“选项”选项卡上点中“启用父路径”。

 

2、数据库连接正确了,但仍然无法更新?

常见的具体错误信息可能为:

(1)Microsoft JET Database Engine (0x80040E09) 不能更新。数据库或对象为只读

(2)Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更新的查询。

(3)Microsoft JET Database Engine (0x80004005) 操作必须使用一个可更新的查询。

原因:数据库权限问题引起。

解决办法有以下几种(针对不同的服务器可能解决办法不一样,在这里假设网站主目录为wwwroot):

A、在wwwroot文件夹上面点击右键-“属性”-取消“只读”,此方法最简单、偶尔有效。

B、在您的数据库文件上文件夹上面点击右键-“属性”-“安全”-添加用户:“IUSR_计算机名” 并开放“IUSR_计算机名”的读取、写入权限。

注:XP系统下可能点击右键看不到“安全”选项,请先打开“工具”-“文件夹选项”-“查看”-取消“使用简单文件共享(推荐)” 然后即可在属性中找到“安全”选项。

C、在wwwroot文件夹上面点击右键-“属性”-“web共享”-“共享文件夹”

 

如果是在Server2003中,还有可能的错误及解决方法是:

asp.net无法运行,很可能是以下原因:

1、IIS没有启用或没有安装(解决办法:安装并配置好IIS的设置);

2、没安装.net框架(解决办法:安装.net相关版本);

3、.net的相关服务没有启用(“计算机管理 - 服务和应用程序 - IIS管理器 - Web服务扩展”中启用asp,asp.net等服务)。

4、路径或权限问题(见上述)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐