close

在編寫asp程式,通常是搭配使用access資料庫,一方面可能是為了攜帶,另一方面可能是因為小型專案。

此時,我們寫好的程式移動到別的伺服器後,
我們可能會遇到其中一種問題「無法用連線來執行此操作。內容可能已關閉或無效。」,

這是在asp程式中,所寫下的錯誤描述, 
<%
if err then response.write (err.description)
%>

哇!這是什麼??
原來,這是因為伺服器有不同的位元(32bit,64bit)之分,

當您原來使用連線的句子:
connstr="DBQ="+server.mappath(""&db&"")+";Password=mypassword;DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"


connstr="Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=MyDbPassword;Data Source=" & Server.MapPath(""&db&"")

都失效了。

這時您必須去微軟下載[Microsoft Access Database Engine 2010 可轉散發套件]64位元版本,並將連線句子改成如下:

connstr="Provider=Microsoft.ACE.OLEDB.12.0;Jet OLEDB:Database Password=MyDbPassword;Data Source=" & Server.MapPath(""&db&"")

在64bit位元的伺服器才可以運作正常。


Microsoft Access Database Engine 2010 可轉散發套件:
http://www.microsoft.com/downloads/details.aspx?familyid=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=zh-tw


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 NetPC虛擬主機 的頭像
    NetPC虛擬主機

    NetPC虛擬主機的部落格

    NetPC虛擬主機 發表在 痞客邦 留言(0) 人氣()