这几天搞ASP。
搞了个网站,一直有Microsoft OLE DB Provider for ODBC Drivers (0x80004005)[Microsoft][ODBC Microsoft Access Driver] '(未知的)'不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。这种错误。/meili/Inc/Conn.asp, 第 21 行
搞死人了,最后终于灵感迸发。
原来,错误的根本原因就是数据库路径问题。
原来的数据库路径是这样的:
db=Installdir&dbpath&"/"&dbname
connstr="DBQ="+server.mappath(""&db&"")+";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
用response.write对Installdir、dbpath、dbname、db、connstr调试出来的结果分别是:
Installdir=/
dbpath=Database
dbname=mjaqibmugg@1hy9f.mdb
db=/Database/mjaqibmugg@1hy9f.mdb
connStr=DBQ=c:\inetpub\wwwroot\Database\mjaqibmugg@1hy9f.mdb;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};
至此,问题已经一目了然。我的网站明明是装在D盘的,怎么数据库的地址跑到C盘的WWWROOT下面去了。
解决的方法是:只要将db的路径改成db=dbpath&"/"&dbname问题就解决了,即把前面的Installdir&去掉,即是用当前的目录,这样无论你的网站放在哪个文件夹下都可以。
再次调试时,connStr=DBQ=D:\Program Files\wwwroot\Database\mjaqibmugg@1hy9f.mdb;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};
一目了然!