我發現我一直都錯了,前一段時間我發現了這個問題,一直忘記上來給大家說一聲,在此檢討一下!
大家都知道串這樣寫的時候
"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")
這樣寫的串,可移直接植到服務器上,這個時候我們要選擇“使用服務器上的驅動程序”
以前我們,包括網上很多討論這個DW報串錯誤的朋友都忽略了這個問題!希望苦惱的朋友今後就不用苦惱了