如何存取其他機器上的數據庫(access)(2001年CSDN上的一帖子)

主  題:請問如何存取其他機器上的數據庫(access)?
作  者:netying
所屬論壇:ASP
問題點數:60
回覆次數:72
人氣指數:1052
發表時間:2001-10-15 10:56:18
是這樣的,我的ASP程序運行在一臺機器上,比如192.168.0.2
但是需要對另一臺機器192.168.0.3上的數據庫my.mdb進行操作,如何連接呢?


回覆貼子:
 zymfy(夢小凡) 回覆於2001-10-15 11:54:18  得0分
Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=//SERVER/c/dd/mf.mdb


把data soruce設爲數據庫所在機子的名子就行了。
 xxxs(我思故我在) 回覆於2001-10-15 11:58:38  得0分
同意!
 netying(鷹擊長空) 回覆於2001-10-15 12:45:18  得0分
可是不行啊!我的代碼如下,不好使,路徑沒有問題

<%
set conn2=Server.CreateObject("ADODB.Connection")
dsntemp="DRIVER={Microsoft Access Driver (*.mdb)};Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=//power_printer/d/dbs/mf.mdb"
conn2.Open dsntemp
%>


錯誤類型:
ADODB.Connection (0x800A0E7A)

 netying(鷹擊長空) 回覆於2001-10-15 12:56:14  得0分
如果我用DSN來連接該如何做?
 netying(鷹擊長空) 回覆於2001-10-15 14:13:23  得0分
求各位給想個辦法!
 cccmx() 回覆於2001-10-15 14:23:34  得0分
創建dsn時,不也可以指向網絡路徑嗎??
 netying(鷹擊長空) 回覆於2001-10-15 14:56:50  得0分
是啊,我DSN創建好了,可是卻出錯,yyy是DSN的名字,我創建的系統DSN
<%
set conn2=Server.CreateObject("ADODB.Connection")
dsntemp="dsn=yyy;uid=;pwd="
conn2.Open dsntemp
%>

錯誤類型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

 netying(鷹擊長空) 回覆於2001-10-15 15:48:59  得0分
有哪位兄弟做過這樣的訪問,給指點指點~~感激不盡!!
 netying(鷹擊長空) 回覆於2001-10-15 19:39:59  得0分
up
 fanhigh(蟲子) 回覆於2001-10-15 21:14:00  得0分
我想先作映射會不會好一點?
 cccmx() 回覆於2001-10-16 7:47:00  得5分
創建dsn時會自動影射
我用系統dsn試了以下,連接正常
conn.open "dsn=mydsn"
你再試以下
 netying(鷹擊長空) 回覆於2001-10-16 8:08:22  得0分
to cccmx:我也是這樣做的,可是就是連不上,你那個做共享的時候有口令嗎
 lczddd(李早樂) 回覆於2001-10-16 11:39:28  得0分
大家的方案都是可行的,應該可以了
 netying(鷹擊長空) 回覆於2001-10-16 12:49:11  得0分
我也覺得可行,可是就是不好使啊,急死我了!!
 zxwcq(小馬) 回覆於2001-10-16 13:09:52  得0分
先配DNS。然後直接連
 netying(鷹擊長空) 回覆於2001-10-16 13:22:27  得0分
DSN我做好了,可是連接的時候就是不行,總是錯誤:
錯誤類型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

真讓我瘋了
 netying(鷹擊長空) 回覆於2001-10-16 21:21:04  得0分
up
 baijy() 回覆於2001-10-17 1:09:08  得0分
作DSN的時候又要你測試啊,你測試看對不對了,如果對就要看看程序了.
 netying(鷹擊長空) 回覆於2001-10-17 8:12:05  得0分
我做DSN的時候沒有讓我測試,也沒有測試的選項
 slightgao(標點) 回覆於2001-10-17 10:28:56  得0分
看看那個mdb的權限問題。
 netying(鷹擊長空) 回覆於2001-10-17 11:16:24  得0分
樓上,這個沒有什麼權限設置的
 custor(小刀) 回覆於2001-10-17 12:07:20  得0分
找本書學學DNS吧
 netying(鷹擊長空) 回覆於2001-10-17 13:02:05  得0分
學DNS幹嗎??
 netying(鷹擊長空) 回覆於2001-10-17 19:35:28  得0分
還是沒有辦法,我要怎麼辦呢
 zxb2001(zxb) 回覆於2001-10-17 19:57:49  得0分
gz
 lg12net(相信自己) 回覆於2001-10-17 22:13:00  得0分
先做映射,然後就象訪問本地路徑一樣訪問就行了
 cccmx() 回覆於2001-10-18 7:36:20  得0分
我覺得,你可以先用vb實驗以下,用adodc控件,使用字符串連接,根據嚮導一步一步的做,然後測試連接。一定可以的
 小星星() 回覆於2001-10-18 8:02:59  得15分
你連不上很正常的,因爲你測試時的用戶可能是Administrator或者其他的,而網絡Server允許你訪問呀。
而用asp調用的時候IIS啓動進程採用的用戶是IUSR_ComputerName,該用戶是沒有權限訪問網絡上的資源的,不信,你可以再試試看.
如果你真的要存取網絡上的數據庫,可以考慮使用RDS.Datacontrol(不過對方得安裝IIS+RDS)
呵呵,用asp訪問不了網絡上的資源很正常的哦。什麼樣的connstring都是沒用的哦.
 小星星() 回覆於2001-10-18 8:05:59  得0分
我看還不如用SQL Server2000吧
不用考慮這麼多東西了.
你的錯誤就象我以前在ASP用連接SQL Server採取信任驗證一樣,呵呵.
以後可別犯這種低級的錯誤哦
:)
 netying(鷹擊長空) 回覆於2001-10-18 8:35:42  得0分
可是數據庫必須用ACCESS,因爲這個別的程序還要使用的
小星星():難道真的一點辦法沒有嗎?那機器裝IIS也不太可能
 netying(鷹擊長空) 回覆於2001-10-18 8:41:05  得0分
to cccmx():你做成功了嗎,你是怎麼做的呢??
 cccmx() 回覆於2001-10-18 8:48:09  得0分
我這裏是完全可以。你沒有用vb測試嗎?
 netying(鷹擊長空) 回覆於2001-10-18 14:56:41  得0分
沒有用VB測試,但是我想用VB應該沒有問題,但是ASP就是不行啊
 nlibo(小皮) 回覆於2001-10-18 15:26:33  得0分
我和netying(鷹擊長空)遇到類似的問題,只是我在WIN98下可以連接,在WIN2K下不行,而且在WIN2K下用VB測試成功,用ASP不行,怎麼回事?誰能解決啊???
 yongmingstar(lym) 回覆於2001-10-18 16:13:33  得0分
先在global.asa中定義
<SCRIPT    LANGUAGE=VBScript RUNAT=Server>
SUB Application_OnStart
  Application("ConnectionString")="Driver={Sql Server};Server=liuym;UID=sa;PWD=;DATABASE=StatePower"
END SUB
</SCRIPT>
 小星星() 回覆於2001-10-18 19:49:42  得0分
如果真的要用的話,我看不如將IIS啓動進程的用戶從IUSR_ComputerName(站點屬性==安全性--匿名訪問的用戶....)換到你計算機上的guest組的一個用戶.並且在服務器上建一個該用戶。並且設置該用戶能夠遠程訪問共享文件夾.....
我沒測試過.......,只是從理論上可以.......
如果Client和Server是98就不會出現上述問題的哦......

 netying(鷹擊長空) 回覆於2001-10-18 20:58:27  得0分
關鍵是有誰在這方面做成功過,我現在開始懷疑是不是這種方法本來就是不可行的。
 Congy(少俠) 回覆於2001-10-18 21:21:15  得0分
是可以的,你用的是access版本是多少?如果是2K,則連接字符串爲
dsntemp="DRIVER={Microsoft Access Driver (*.mdb)};Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data
 netying(鷹擊長空) 回覆於2001-10-18 21:37:03  得0分
樓上的大哥,你沒有寫完,你是試驗過的碼?
 52694(錯愛) 回覆於2001-10-18 22:09:00  得0分
可先做影射

後用dns
 netying(鷹擊長空) 回覆於2001-10-18 22:21:11  得0分
都試過了,不行
 cccmx() 回覆於2001-10-19 7:29:18  得0分
在asp上也是可以的,我就是用interdev寫的。我讓你用vb測試,是測試你的連接是否正確。
 Taken(鐵拳) 回覆於2001-10-19 9:48:30  得0分
1.首先你要具備訪問那臺計算機上指定文件的權限,在資源管理器中試一下;
2.試着吧那臺機器的名稱改爲IP試一下。

我的mail:  [email protected]
 netying(鷹擊長空) 回覆於2001-10-19 10:25:34  得0分
主要是有誰這麼成功的用過?我現在急死了
 attababy(attababy) 回覆於2001-10-19 13:09:57  得0分
Provider=Microsoft.Jet.OLEDB.3.51;Persist Security Info=False;Data Source=//192.168.0.3/c/dd/mf.mdb
 netying(鷹擊長空) 回覆於2001-10-19 13:28:13  得0分
樓上這種方法還是不行

錯誤類型:
ADODB.Connection (0x800A0E7A)
/jzsl/conn2.asp, 第 10 行


 dave75(dave) 回覆於2001-10-19 13:45:46  得0分
gz
 zz321() 回覆於2001-10-19 13:46:07  得0分
升級相關版本!!!
 love_me_forever(鍾愛我一生) 回覆於2001-10-19 15:59:18  得0分
gz
 Nizvoo(瓦匠泥) 回覆於2001-10-19 17:30:00  得0分
可以對odbc配置後引入文本不就可以了嗎???
 bluepower2008(藍色力量) 回覆於2001-10-19 17:37:02  得0分
你能不能補充說明一下你的兩臺機器的操作系統都是什麼?
 小星星() 回覆於2001-10-19 20:57:21  得0分
你連不上很正常的,因爲你測試時的用戶可能是Administrator或者其他的,而網絡Server允許你訪問呀。
而用asp調用的時候IIS啓動進程採用的用戶是IUSR_ComputerName,該用戶是沒有權限訪問網絡上的資源的,不信,你可以再試試看.
如果你真的要存取網絡上的數據庫,可以考慮使用RDS.Datacontrol(不過對方得安裝IIS+RDS)
呵呵,用asp訪問不了網絡上的資源很正常的哦。什麼樣的connstring都是沒用的哦.
回覆人: 小星星() (2001-10-18 8:05:59)  得0分
我看還不如用SQL Server2000吧
不用考慮這麼多東西了.
你的錯誤就象我以前在ASP用連接SQL Server採取信任驗證一樣,呵呵.
以後可別犯這種低級的錯誤哦
:)
如果真的要用的話,我看不如將IIS啓動進程的用戶從IUSR_ComputerName(站點屬性==安全性--匿名訪問的用戶....)換到你計算機上的guest組的一個用戶.並且在服務器上建一個該用戶。並且設置該用戶能夠遠程訪問共享文件夾.....
我剛測試過,ok了!!!
不過IIS啓動進程的賬號必須改!!!!
 netying(鷹擊長空) 回覆於2001-10-19 20:57:47  得0分
我的ASP程序運行在WIN2000 advanced server下,access數據庫在win98的機器上
 netying(鷹擊長空) 回覆於2001-10-19 21:02:48  得0分
to 小星星(),你說的真是可行嗎?我把那個帳號改到 guest組後,站點就無權限訪問了
再請教:怎麼設置該用戶能夠訪問遠程共享文件夾呢,你這麼改了會不會有安全問題?
 小星星() 回覆於2001-10-19 21:25:49  得0分
改成Guest就可以了,密碼爲你自己的密碼(別允許IIS控制密碼了)
將服務器的文件共享,開設一個Guest,密碼爲你自己的密碼。一切OK了
服務器98就好辦多了。。。。
 huangda(c8848) 回覆於2001-10-19 22:26:56  得0分
檢查一下你創建數據源時選擇的數據庫驅動程序是否正確(Microsoft Access Driver(*.mdb));不然的話,換一種(*.mdb)驅動程序試試,你的這個問題應該是版本兼容性引起的。([email protected])

 yhtok() 回覆於2001-10-20 11:09:48  得0分
檢查一下ACCESS文件是否是可寫!
 netying(鷹擊長空) 回覆於2001-10-20 13:37:24  得0分
to 小星星():我的數據庫在98的機器上,沒有權限設置的,做的是完全共享
 bluepower2008(藍色力量) 回覆於2001-10-20 16:06:54  得40分
這個問題,我找到原因了,關鍵在於你建立的網絡映射,由於你的IIS服務器是win2000,在建立映射時默認的用戶是當前用戶,但你的IIS進程使用的用戶時IUSR_ComputerName,所以找不到相應的網絡映射,你只需要在建立網絡映射時,指定使用的用戶名是 IUSR_ComputerName,密碼你可以在用戶管理器中將密碼改成你自己設定的密碼,就可以了.
 netying(鷹擊長空) 回覆於2001-10-20 19:22:18  得0分
樓上大哥:建立影射時怎麼指定用戶名呢?好象沒有這個選項
 bluepower2008(藍色力量) 回覆於2001-10-21 14:15:38  得0分
在win2000上,你先找到要建立映射的共享目錄,然後擊右鍵,選擇"映射網絡驅動器",在彈出的窗口中有"使用其他用戶名進行連接"選項,在那可以設置.
 netying(鷹擊長空) 回覆於2001-10-21 19:09:16  得0分
謝謝樓上,我去試一下,要是真的是這樣,那原因就找到了,一定給分的!
 netying(鷹擊長空) 回覆於2001-10-22 8:24:32  得0分
to bluepower2008:我照你說的做了,可還是不行啊!
 netying(鷹擊長空) 回覆於2001-10-22 11:34:36  得0分
up
 firefox2000(渣渣) 回覆於2001-10-22 12:37:30  得0分
此方法行得通,測試已通過
<%
set conn=Server.Createobject("ADODB.connection")
conn.connectionstring="driver={Microsoft Access Driver (*.mdb)};DBQ=//agpserver/ydq/photo.mdb"&";uid=;pwd=;"
conn.open
 bluepower2008(藍色力量) 回覆於2001-10-22 13:30:03  得0分
你說的不行,程序提示什麼?你的IUSR_ComputerName的密碼對嗎?ComputerName是你自己機器的名字.
 netying(鷹擊長空) 回覆於2001-10-22 14:18:36  得0分
回樓上,密碼沒有問題,我的機器名字ZRH,沒有問題,IUSR_ZRH,
出錯提示信息還是
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)

我真是要瘋掉拉
 bluepower2008(藍色力量) 回覆於2001-10-22 14:39:41  得0分
你是在用戶管理裏面把IUSR_ZRH的密碼改成你知道的密碼了嗎?有沒有在IIS中選擇密碼同步?你現在直接訪問網站上的HTML頁面成功嗎?
 netying(鷹擊長空) 回覆於2001-10-22 15:55:53  得0分
樓上大哥,謝謝你:
我是把IUSR_ZRH的密碼改成了做影射時“使用其他用戶連接”那裏的密碼
我訪問站點是成功的,沒有問題
IIS中密碼同步是什麼意思?

爲什麼我這就是連不上呢?
 netying(鷹擊長空) 回覆於2001-10-22 16:01:47  得0分
不對,我這樣做後訪問不了站點了,HTML也訪問不了了!
 netying(鷹擊長空) 回覆於2001-10-22 16:16:14  得0分
成功了!
總結一下:
1。做共享影射時候使用“其他用戶連接”,用戶名爲IUSR_ZRH,口令假定11111
2。在用戶管理裏把IUSR_ZRH口令改爲11111
3。在WEB站點屬性裏-》目錄安全性-》匿名訪問和嚴正控制,點編輯,
出現的界面裏,再點編輯,設置用戶名和口令同前,OK
多謝各位,馬上給分了!


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章