ASP交流群二14725152里一同学说DBF连接路径有问题,由于对DBF了解很少,仅限于VF开发的时候知道那么一点点基础知识,本地测试、远程测试的确发现数据库路径判断有问题,一通MSDN,百度,谷歌,均为发现更多关于ASP+ADO操作DBF的太多资料,索性尝试从文件权限去解决问题,简单处理,还真是目录权限不足,唉,郁闷,本需要花太多时间的~~
其实一开始就应该想到是目录权限问题,凡是提示路径引用问题:“Microsoft JET Database Engine 错误 '80004005' ...不是一个有效的路径。 确定路径名称拼写是否正确,以及是否连接到文件存放的服务器。”
排除程序错误或者bug后,IIS提示这个信息的几乎均可以从目录权限着手去解决问题,一般给IIS目录写入权限或者Everyone全部权限,应该就可以解决问题了。记录一下,避免下次再浪费时间。
另外,关于DBF连接字符串的问题,附上一个函数:
程序代码
Function OpenDBFConn(Path)
Dim Conn: Set Conn = CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(Path) & ";Extended Properties=DBASE IV;"
Set OpenDBFConn = Conn
End Function
其中,根据数据库版本不同,Extended Properties 可为 dBASE IV、dBASE 5.0、dBASE III、FoxPro 2.0、FoxPro 2.5、FoxPro 2.6、FoxPro 3.0等。