DW做ASP程序时关于数据库的几个常见问题

9次阅读

网页三剑客以其简单易学迅速被广大爱好者所青睐,尤其是 DW 已成为初学者制作网站的首选工具。但我们在用 DW 制作 ASP access 程序时,经常会出现这样或那样的错误,尤其是数据库方面显得非凡突出。本文就此方面出现的一些常见的问题谈谈其原因及解决办法。

一、上传网页时出现如下错误:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

[Microsoft][ODBC 驱动程序治理器] 未发现数据源名称并且未指定默认驱动程序

此类错误出现的情况大多是在用 DW 建立站点时运行到下面的步骤时我们选择了第一项或第二项,如图一:

DW 做 ASP 程序时关于数据库的几个常见问题
图一

1、当选择了第一项时,我们开发的 ASP 程序是在本地编辑和测试。在应用数据库时建立数据库连接大多采用的是 DSN 或自定义连接字符串

用 DSN 时如图二所示:

DW 做 ASP 程序时关于数据库的几个常见问题
图二

DSN 是用 ODBC 数据源治理器建立。我们知道 DSN 有用户 DSN、系统 DSN、文件 DSN 三种,其中用户 DSN 与系统 DSN 只能用于当前机器,不能为别的机器所用。而在用 DW 建立 ASP 程序时在上图的第二项只能显示系统 DSN,因此当我们将 ASP 程序上传或到别的机器运行时便会出现上述问题。

用自定义连接字符串时如图三所示:

DW 做 ASP 程序时关于数据库的几个常见问题
图三

连接字符串包含 Web 应用程序连接到数据库所需的全部信息。

Driver 指定在没有为数据库指定 OLE DB 提供程序时所使用的 ODBC 驱动程序。

DBQ 是指向基于文件的数据库 (如在 Microsoft Access 中创建的数据库) 的路径。该路径是在测试数据库文件的服务器上的路径。

下面是一个连接字符串示例,它将创建与名为 book.mdb 的 Access 数据库的 ODBC 连接:Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\book\trees.mdb。Dreamweaver 在服务器端脚本中插入该字符串,以便应用程序服务器随后进行处理。当我们将 ASP 程序上传或到别的机器运行时假如测试的路径与连接字符串的数据库路径不一致时,便会发生上述问题。

2 当选择了第二项时,我们开发的 ASP 程序是在本地编辑,然后上传到远程服务器测试。建立数据库连接也采用的是 DSN 或自定义连接字符串,不同的是都采用的测试服务器上的 DSN 或连接字符串。当采用测试服务器上的 DSN 时同样也只能用系统 DSN 于是当到别和机器运行 ASP 程序时,也就产生了同样的问题。当采用自定义字符串时假如测试的路径与连接字符串的数据库路径不一致时,也会发生同样的问题。

从以上分析可知,要使自己用 DW 开发的 ASP 程序具有可移植性最好采用自定义字符串(也可采用文件 DSN 但对于初学者用自定义字符串轻易些)。其具体情况如下:

对于建立站点时选择在本地编辑与测试, 可采用此自定义连接字符串: Driver={Microsoft Access Driver (*.mdb)};DBQ=d:\book\trees.mdb(d:\book 表示数据库文件的实际路径);D 而对于在本地编辑然后上传到远程服务器测试, 若要将非 DSN 连接字符串写入位于远程服务器,必须知道该文件的实际路径. 假如不知道文件在远程服务器上的实际路径,则可以通过在连接字符串中使用 MapPath 方法来获取该路径。其自定义连接字符串为: 假如使用 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”, 否则将会出错)。其时很多时候当我们发现类似的错误提示都应该考虑到是否因为数据库连接产生了问题, 假如是便可使用上述方法解决.

正文完