DW做ASP程式时关于数据库的几个常见问题
2008-02-23 06:18:10来源:互联网 阅读 ()
一、上传网页时出现如下错误:Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC 驱动程式管理器] 未发现数据源名称并且未指定默认驱动程式
此类错误出现的情况大多是在用DW建立站点时运行到下面的步骤时我们选择了第一项或第二项,如图一:
图一
1、当选择了第一项时,我们研发的ASP程式是在本地编辑和测试。在应用数据库时建立数据库连接大多采用的是DSN或自定义连接字符串
用DSN时如图二所示:
图二
DSN是用ODBC数据源管理器建立。我们知道DSN有用户DSN、系统DSN、文档DSN三种,其中用户DSN和系统DSN只能用于当前机器,不能为别的机器所用。而在用DW建立ASP程式时在上图的第二项只能显示系统DSN,因此当我们将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”,否则将会出错)。 其时很多时候当我们发现类似的错误提示都应该考虑到是否因为数据库连接产生了问题,假如是便可使用上述方法解决.
二、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'。
[1]
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 用Dreamweaver进行数据库操作
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash