h 方法 来获取该路径。其自定义连接字符串为: 如果使用
VBScript 作为脚本撰 写语言,连接字符串可表示如下:Driver={Microsoft Access Driver (*.mdb)};DBQ=” &; Server.MapPath("/book/book.mdb");如果使用
JavaScript,表达式将基本相同,只是要使用加号 (+) 而不是 &; 号来串 联两个 字符串,连接字符串可表示如下:Driver={Microsoft Access Driver (*.mdb)};DBQ=” +Server.MapPath("/book/book.mdb")这样我们便可以顺 利地移植 ASP 程序了(注意一定要将数据库文件上载到远程服务器。记下 它的虚拟路径,例如”/book/book.mdb”,否则将会出错)。 其时很多时候当 我们发现类似的错误提示都应该考虑到是否因为数据库连接产生了问题, 如果是便可使用上述方法解决. 二、ADODB.Field (0x800A0BCD)BOF 或 EOF 中有一个是“真”,或 者当前的记录已被删除,所需的操作要求一个当前的记录。
这种错误常产生于网页之间传递数据.我们知道 ASP 应用程序时一般 至少拥有二个或二个以上的 Web 页面,这时就得考虑在多个 Web 页面间 传递数据的处理
工作。网页间数据传递的
常用方法有:URL 方式、FORM 方式、COOKIE、APPLICATION、SESSION。其中 URL 方式和 form 方 式实现方法简单, 可实现网页间的简单数据传递(也是我们初学者能快速掌 握的)而且必须是连续访问两页面间数据传递。如在制作网站
搜索引擎时, 便要用到 FORM 方式传递参数。又如我们每每看一些网站在用户注册后, 便可在下一个页面看出到用户的详细信息。 但我们用 DW 制作类似的页面 时则总出现这样的错
误。这样的错误一般属于记录集(recordset)的问题. 这类问题发生的原因,一般是执行了查询条件,但送回的结果却是空的,即没 有符合查询条件的记录或是执行了循环,执行到第一个或是最后一个记录 集的时候,没有及时终止循环,所以产生了错误。解决此问题就要用到网页 间的数据传递,可用 FORM 参数、URL 参数或阶段变量(如 SESSION)来 决定查询条件。 三、在 DW 中,因打开数据库造成的常见错误 1 在运行程序时,因打开数据库造成的错误 Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册 表关键字 'Temporary (volatile) Jet DSN for process 0xaa0 Thread 0x628 DBC 0x2e80064 Jet'。 2 在上传文件时,因打开数据库造成的错误,如图四所示:
图四 四、不能更新。数据库或对象为只读/操作必须使用一个可更新的
查询 (80004005) Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC Microsoft Access Driver] 操作必须使用一个可更 新的查询。 Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005' [Microsoft][ODBC Microsoft Access Driver] 不能更新。 数据库或对象为只 读。 1、最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件 没有写权限。要解决这个问题,在管理器中调整数据库文件的属性,让匿 名用户有正确的权限。当使用 ACCESS 数据库时,不仅要给文件写的权 限,还要给该目录写的权限.在 IIS 里面,有一个设置,就是 Web 匿名访 问用户,也就是大家熟悉的 IUSR_。给你的 Access 数据库文件增加 IUSR_ 的改写权限。 1) 这就是我们要用程序去操作的 Access 数据库文件 2) 右键 --> 属性:此文件的“安全”属性 3) 增加用户 IUSR_ 4) 设置 IUSR_ 对 Access 数据库文件的访问权限 这是设置好了的权限注意只给了 IUSR_ 的读、写权限哦。不要给 Everyone 权限,而且还要给执行(Execute) 权限,这样容易被人家上传 了 ASP 木马,然后执行,你的系统最高级的权限就被入侵者获取了。
2、原因是数据库没有使用正确的模式打开。应该使用下面的方法打 开。
Set Conn = Server.CreateObject("ADODB.Connection") Conn.Mode = 3 '