主 題:請問如何存取其他機器上的數據庫(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
多謝各位,馬上給分了!