指定的初始化字符串不符合ole db规定”错误的真相

摘自于:http://bbs.jcwcn.com/thread-99351-1-1.html

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

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

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

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

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

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

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

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

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

你可能感兴趣的:(指定的初始化字符串不符合ole db规定”错误的真相)