網頁設計ASP架站問題
Microsoft OLE DB Provider for ODBC Drivers 錯誤 '80004005'[Microsoft][ODBC 驅動程式管理員] 指定之 DSN 中的驅動程式和應用程式架構不相符/XXX/index.asp, 行24自己在測試登入帳號密碼時,出現了上面的字。請問要怎麼解決呢?
我電腦WIN7的
要怎麼檢查呢?
請問如果是正常的話裡面是怎樣的設定呢?
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<%
' *** Validate request to log in to this site.
MM_LoginAction = Request.ServerVariables("URL")
If Request.QueryString <> "" Then MM_LoginAction = MM_LoginAction + "?" + Server.HTMLEncode(Request.QueryString)
MM_valUsername = CStr(Request.Form("帳號_登入"))
If MM_valUsername <> "" Then
Dim MM_fldUserAuthorization
Dim MM_redirectLoginSuccess
Dim MM_redirectLoginFailed
Dim MM_loginSQL
Dim MM_rsUser
Dim MM_rsUser_cmd
MM_fldUserAuthorization = ""
MM_redirectLoginSuccess = "ok.asp"
MM_redirectLoginFailed = "fail.asp"
MM_loginSQL = "SELECT [帳號], [密碼]"
If MM_fldUserAuthorization <> "" Then MM_loginSQL = MM_loginSQL & "," & MM_fldUserAuthorization
MM_loginSQL = MM_loginSQL & " FROM [會員表] WHERE [帳號] = ? AND [密碼] = ?"
Set MM_rsUser_cmd = Server.CreateObject ("ADODB.Command")
MM_rsUser_cmd.ActiveConnection = MM_acc_STRING (24行)
MM_rsUser_cmd.CommandText = MM_loginSQL
MM_rsUser_cmd.Parameters.Append MM_rsUser_cmd.CreateParameter("param1", 200, 1, 255, MM_valUsername) ' adVarChar
以上是網頁的程式碼前26行
(第2行,上面消失了)
acc.asp 內容:
<%
' FileName="Connection_odbc_conn_dsn.htm"
' Type="ADO"
' DesigntimeType="ADO"
' HTTP="false"
' Catalog=""
' Schema=""
Dim MM_acc_STRING
MM_acc_STRING = "dsn=acc;"
%>
<!--#include file="../Connections/acc.asp" -->
上面又消失了...
有測試連線成功......
就是不知道為什麼會有這問題......
是64位元的沒錯......
C:\WINDOWS\SysWOW64\odbcad32.exe
我就是設置在這位置......
測試連線時是成功的
Microsoft Access Driver(*.mdb, *.accdb)
連到名為"會員表.mdb"的檔案
請問要怎麼確認有沒有損壞?
要如何來讓它修復?
他寫修復成功,
連線測試結果一樣是成功,
但是開啟網頁時還是一樣的情況。
4 個解答
- 意憚Lv 77 年前最佳解答
就是連結資料庫的時候發生錯誤
這原因很多啊
你檢查一下你odbc的設定
2013-12-24 12:28:16 補充:
要在iis所在的電腦檢查
在 控制台/系統管理工具 裡面
2013-12-24 23:42:59 補充:
又不是我寫的網站
這問題要問程式人員吧
2013-12-26 01:23:12 補充:
MM_rsUser_cmd.ActiveConnection = MM_acc_STRING.....這行是連接資料庫的
你要查 MM_acc_STRING 的值是什麼....
如果你po的這真的是 "以上是網頁的程式碼前26行"
這之前都沒有程式....=.=
那就好笑了
代表 MM_acc_STRING 這是空值
2013-12-26 08:43:01 補充:
MM_acc_STRING = "dsn=acc;"
所以odbc的設定裡面應該要有acc
而且進入acc的內容,測試連線應該要成功
2013-12-26 12:07:00 補充:
你 win7 該不會是64位元吧
2013-12-26 23:51:09 補充:
那 odbc 就設錯地方了
控制台的那個 odbc 是 64 位元的
先把那個 64 位元的odbc裡面的 acc 刪除
然後找到 32位元的odbc重設一次
位置在....
C:\WINDOWS\SysWOW64\odbcad32.exe
2013-12-27 09:34:40 補充:
那32位元的odbc測試連線有成功嗎?
2013-12-27 23:59:03 補充:
那請問 acc 到底連什麼資料庫?
他用的odbc driver全名是什麼?
2013-12-28 23:08:58 補充:
這是最新版本的access驅動
我剛剛也測試一下
我產生了access 97..2000..2003..2007 各種不同版本的資料庫
用這個版本連接,都是正常的
而且也能夠正確執行sql指令
你要不要檢查你的mdb檔案是不是有問題
試著修復看看
2013-12-29 00:20:22 補充:
工具 / 資料庫公用程式 / 壓縮及修復資料庫
2013-12-29 15:59:24 補充:
你64位元的odbc設定有清空嗎??
沒有的話,清空試試看
在不行的話
既然你副檔名是 mdb
代表應該是2003以前的格式,那改用舊的 odbc driver 試試看
你把原本的odbc刪除
然後用 Microsoft Access Driver(*.mdb) 建一個新的odbc試試看
記住要用32位元的
2013-12-31 19:33:07 補充:
真是太怪了
我只好裝一個win7 64位元來測試 iis
結果出現跟你一樣的錯誤訊息
終於找到了問題,原來是32位元相容性問題
你把下面兩行做一個bat檔案
cd C:\inetpub\AdminScripts
cscript.exe adsutil.vbs set W3SVC/AppPools/Enable32BitAppOnWin64 true
然後按右鍵選擇"以系統管理員身份執行"
這樣就搞定了
2014-01-02 01:11:48 補充:
我反覆測試過是ok的
你確認你有用"以系統管理員身份執行"
2014-01-02 01:17:27 補充:
如果真的還是不行
但表你的作業系統安裝有問題
那就放棄要用 win7 64位元 來 run IIS 了
這本來就不適合拿來 run IIS
拿來玩可以,拿來辦公就不行了
因為有win7連線數限制,就算給你run起來也不能讓大家用
- 匿名使用者7 年前
台中網路行銷首選-。。眾智數位科技網路行銷。。
你知道嗎? 網站訪問流量的第一來源竟是搜尋引擎之網站排名SEO!!企業該如何做好部落格行銷呢?知識家行銷呢?網站排名呢?網路行銷呢?全方位的網路行銷能帶來哪些好處呢?如何在茫茫人海中對你有印象?對你的產品有印象?熟悉你的品牌?要如何在琳瑯滿目的商品購買你?決定買你?喜歡持續購買你呢?要如何在眾網路平台中看見你?釘睛於你呢?品牌忠誠於你呢?網路無所不在,看不見你的訊息都難!眾智數位科技具有網路行銷十多年的經驗!歡迎您隨時來電詢問~。。眾智數位科技有限公司。。SEO_line_App行銷(眾智數位)
- 匿名使用者7 年前
取得最好的網站行銷效果。
1、專業關鍵字分析
2、保證排名第一頁
3、行銷規劃整合
4、國際化全球行銷
企業網站建置規劃:企業網站建置
我們提供專業完整的網站建置服務,依客戶需求打造企業專屬網站、幫助企業樹立良好的企業形象,打開市場《 網站建置超值方案 》
1、量身規劃設計企業專屬網站
2、舊網站製作改版、網站重新建置
3、購物平台網站製作 0800800807