iT邦幫忙

0

asp 遠端存取access 資料庫

大家好:
想請問兩台伺服器,一台想要存取另一台的access 要怎麼存取呢?謝謝
Microsoft JET Database Engine 錯誤 '80004005'

Microsoft Jet 資料庫引擎無法開啟 '\192.122.16.1\db\db1.mdb' 檔案。它已經被其他的使用者獨佔地開啟,或者您需要有檢視資料的權限。

論壇找到
http://www.blueshop.com.tw/board/FUM200410061525290EW/BRD200504071820534W6.html

set cn=remote_db_connection("\\192.122.16.1\\db\db1.mdb")
function remote_db_connection(dbn)

dim provider,db_path,ds,cns,conn
provider = "Provider = Microsoft.Jet.OLEDB.4.0; "
'db_path= server.mappath(dbn)
db_path=dbn
ds= "Data Source= "& db_path
cns= provider&ds
set conn= server.createobject("ADODB.Connection")
conn.open cns
set remote_db_connection = conn
end function

還是在access的伺服器設定ODBC,然後從網頁伺服器連線遠端access,要怎麼做呢?
http://mirlab.org/jang/books/asp/odbc&dsn.asp?title=18-2%20ODBC%20%BBP%20DSN%20%C2%B2%A4%B6
https://ithelp.ithome.com.tw/upload/images/20210520/20097057yJ3GHfSe34.png

謝謝

要當心會不會發生多人共用MDB時鎖表的問題,可能的話,把ACCESS MDB裡的資料,導出到SQL吧
mayyola iT邦研究生 5 級 ‧ 2021-05-21 17:58:27 檢舉
我也想過,但我不知道要怎麼測試,access好像是一個人使用就會先鎖起來..等用完 下一個再進來..有想過導到mysql 不過程式要改..
謝謝你!!

1 個回答

1
dscwferp
iT邦高手 1 級 ‧ 2021-05-20 22:40:04
最佳解答

我使用過兩種新舊方法
以前用舊方法:

  1. 在 .1 上 將 db 目錄分享, 權限設定 a user 完全控制
  2. 在 .2 上 將\192.122.16.1\db 用 a 帳密 對應成網路磁碟機 比如 Z:
  3. 在 .2 IIS 上 設定 asp 檔所在目錄 的 權限 登入者為 a
  4. 這樣就可以用 set cn=remote_db_connection("z:\db1.mdb") 連了
    這應該是您現在最想用的方法!

現在用新方法:

  1. 在 .1 上 寫個 ASP API 讓 .2 呼叫
  2. 在 .2 上 的ASP 就可以 呼叫 .1 的 ASP API
  3. 因為 .1 跟 .2 都是自己寫的, 所以協議可以自定, 不過建議用RESTful API 協議, 比較能接軌現在

以上希望能幫您忙!

看更多先前的回應...收起先前的回應...
mayyola iT邦研究生 5 級 ‧ 2021-05-20 23:42:16 檢舉

d大好:我已在網頁伺服器(第1台)將打入\192.122.16.1\db\db1.mdb 可以直接看的到第2台整個資料庫,但我不知道舊方法的1,2,3步驟的user要怎麼設定..謝謝

dscwferp iT邦高手 1 級 ‧ 2021-05-21 08:46:22 檢舉
mayyola iT邦研究生 5 級 ‧ 2021-05-21 10:45:52 檢舉

d大您好:
我已加網路磁碟機跟資料庫本機db資料夾加IUSER,還是一樣它已經被其他的使用者獨佔地開啟,或者您需要有檢視資料的權限。

我原本是想讓網頁分流,1號伺服器連2號伺服器,但1跟2號都有網頁連2號的資料庫,會不會是2號網頁有連2號資料庫,造成1號連不上 謝謝

mayyola iT邦研究生 5 級 ‧ 2021-05-21 13:22:24 檢舉

如果用web service +ms access ,將資料庫寫成asmx好像可以,web service用visual studio ide 用vb寫是否可以 謝謝

dscwferp iT邦高手 1 級 ‧ 2021-05-21 13:30:10 檢舉

不能用 IUSER 啦!
要實際帳密!
要完全控制!

我要發表回答

立即登入回答