我发现我一直都错了,前一段时间我发现了这个问题,一直忘记上来给大家说一声,在此检讨一下!

大家都知道串这样写的时候

  1. "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../jcwcn.mdb")

复制代码


后面的数据库文件路径是相对路径,可以直接移植到服务器空间里。但是我们在这样写串的时候DW会报“不符合OLE DB的规定”的错误。这是为什么呢,难道是软件开发者连着最基本的功能都搞不定?我也疑问了很长一段时间。后来我无意中发现了。原来是因为我们没有把本地驱动程序\服务器上的驱动程序和两种写串的方式对应起来

其实正确的做法应该如下:

  1. "Driver={Microsoft access Driver (*.mdb)};dbq=E:\www\asp\DW\jcwcn.mdb"

复制代码

这样的串写法要选择使用本地计算机上的驱动



  1. "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("../jcwcn.mdb")

复制代码

这样写的串,可移直接植到服务器上,这个时候我们要选择“使用服务器上的驱动程序”



以前我们,包括网上很多讨论这个DW报串错误的朋友都忽略了这个问题!希望苦恼的朋友今后就不用苦恼了