遠端access??? |
尚未結案
|
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
想寫一個遠端連接access,可是下面run時會有問題,是否是我寫錯了,請高手幫幫我,對了,請問這個有辦法跨ROUTER嗎?如果不行,可否教如何跨的方法。
procedure TForm1.Button1Click(Sender: TObject);
begin adoConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=\\***.***.***\a$\dept.mdb;Persist Security Info=False';
//遠端的c槽底下a資料夾,dept.mdb
adoConnection1.LoginPrompt:=false;
adoConnection1.Connected:=true;
adoquery1.Connection:=adoconnection1;
adoquery1.Close;
adoquery1.sql.Text:='Select * from employee';
//Tadoquery.SQL是以一個TStringList來儲存sql指令的
adoquery1.Active:=true;
datasource1.DataSet:=adoquery1;
Edit1.Text:=adoquery1.FieldByName('department').AsString;
Edit2.Text:=adoquery1.FieldByName('code').AsString;
Edit3.Text:=adoquery1.FieldByName('name').AsString;
end;
|
JustinShen
中階會員 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
引言: procedure TForm1.Button1Click(Sender: TObject); begin adoConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0; Data Source=\\***.***.***\a$\dept.mdb;Persist Security Info=False'; //遠端的c槽底下a資料夾,dept.mdb如依据您的说明,似乎a$应该是c$\a 否则a$应该是c:\a的shareFolder name 还有当然就是发出访问的用户是否具有远程电脑访问权的问题了。 这种方式当然可以跨router,但如果中间有firewall就不一定行了,因为以共享文件夹方式访问需要通过137/138/139端口建立网路连接和传输数据。 Justin Shen ================================= 如果能帮到您,我会很开心;如果能得到您的帮助,是我的荣幸 =================================
------
==================== 我为一切作努力! Justin Shen |
likush
高階會員 發表:5 回覆:235 積分:103 註冊:2002-10-08 發送簡訊給我 |
就您的作法 小弟愚見 有錯請指正
不明白您的錯誤點出在那裡,或許您可先試試
adoConnection1.Connected:=true; if Not adoConnection1.connected then showmessage('連接失敗') adoquery1.Connection:=adoconnection1;以判斷資料庫是否有正確連接,如 JustinShen兄所言,遠端連接上可能要確認權限問題及相關之PORT是否有開放。 ========================= 讀萬卷書~不如來K.TOP走一遭 ========================= |
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
procedure TForm1.Button1Click(Sender: TObject);
begin adoConnection1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;
Data Source=\\210.70.81.104\c$\a\dept.mdb;Persist Security Info=False';
//遠端的c槽底下a資料夾,dept.mdb
adoConnection1.LoginPrompt:=false;
adoConnection1.Connected:=true;
adoquery1.Connection:=adoconnection1;
adoquery1.Close;
adoquery1.sql.Text:='Select * from employee';
//Tadoquery.SQL是以一個TStringList來儲存sql指令的
adoquery1.Active:=true;
datasource1.DataSet:=adoquery1;
Edit1.Text:=adoquery1.FieldByName('department').AsString;
Edit2.Text:=adoquery1.FieldByName('code').AsString;
Edit3.Text:=adoquery1.FieldByName('name').AsString;
end;
我也把對方的資料庫用成共用了,firewall也關了,可是卻發現整個程式當了,不知道是我寫錯,還是說怎麼了,因為我的電腦很慢
|
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
|
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
|
likush
高階會員 發表:5 回覆:235 積分:103 註冊:2002-10-08 發送簡訊給我 |
|
paa
初階會員 發表:50 回覆:101 積分:30 註冊:2005-02-01 發送簡訊給我 |
|
jeff377
初階會員 發表:9 回覆:60 積分:33 註冊:2004-08-10 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |