問一個應該是滿膚淺的問題,還請各位先進幫忙.... |
尚未結案
|
wingtang
一般會員 發表:1 回覆:2 積分:0 註冊:2002-03-13 發送簡訊給我 |
我現在在家中用Delphi 7撰寫一套簡單的C/S程式,Server端就只有單純一個RemoteDataModule存在,裡面什麼都沒有,執行後註冊也成功了。
問題出在,我設計Client端時,只放了一個DCOMConnection元件,ComputerName輸入自己的IP時,抓得到剛剛設計的Server,
但是將Server拿到學校電腦上執行,在Client端輸入學校電腦的IP,卻被擋掉,說是拒絕我的存取。可否請教這種情況該如何解決,DCOM的權限該如何調整呢,附帶一提,我使用的是WinXP SP2,兩台電腦都有安裝Delphi 7。
|
geniustom
版主 發表:100 回覆:303 積分:260 註冊:2003-01-03 發送簡訊給我 |
|
wingtang
一般會員 發表:1 回覆:2 積分:0 註冊:2002-03-13 發送簡訊給我 |
geniustoms您好: 謝謝您的指正,大致上來說: 1.因為我目前環境設備的緣故,我只能測試家中的單機以及Lab中的電腦,
所有電腦都是XP SP2的基本設定。
2.我的DCOM權限設定,是參照這個討論版中精華區內的
「Dcomcnfg設定範例」所述來進行設定,不論是Lab還是家中這邊都一樣。 我的主要疑問,在於如果是在LAN下,若網域內電腦皆無設定防火牆時,
是否就可以直接在DCOMConnection中的「ComputerName」屬性輸入該電腦的
IP位址,以啟動在那台電腦上我所置放且註冊過的AP Server,因為到目前為
止所翻閱的書籍中,針對DCOM的Multi-tier存取架構的相關範例,都是在單
機中進行實做的,對於如何從A電腦中Client端程式裡的DCOMConnection元件,
如何連結到B電腦中的RemoteDataModule,都沒有太多的著墨,對於DCOM如何
因應防火牆的存在而進行設定,我也不知該去哪裡找資料,因為我現在要寫
一套系統,主要是放在LAN中使用的,Server端上有我的一些相關資料庫,
所有的Client端皆在LAN中,而在DCOM這邊我就覺得卡住了,因為就算單機上
都已經實做出來了,如果將Client端移出到別台電腦上卻無法動作時,那其
實還是沒達到我當初所希望的要求,不曉得各位先進是否有遇過類似的情況,
可不可以指點一下解決的方式,不勝感激。 m-_-m.....
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 我現在在家中用Delphi 7撰寫一套簡單的C/S程式,Server端就只有單純一個RemoteDataModule存在,裡面什麼都沒有,執行後註冊也成功了。 問題出在,我設計Client端時,只放了一個DCOMConnection元件,ComputerName輸入自己的IP時,抓得到剛剛設計的Server, 但是將Server拿到學校電腦上執行,在Client端輸入學校電腦的IP,卻被擋掉,說是拒絕我的存取。可否請教這種情況該如何解決,DCOM的權限該如何調整呢,附帶一提,我使用的是WinXP SP2,兩台電腦都有安裝Delphi 7。這些論壇上已有討論過, 您可搜尋看看, 至於設定方法, 記得站長也有發表過文章, 但最主要的是您要懂得Windows的權限管理機制, 也就是您登入本機(執行Client程式的電腦)的帳號密碼, 在執行Server程式那台電腦也要有相同的帳號密碼才行, 且要有權限. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
wingtang
一般會員 發表:1 回覆:2 積分:0 註冊:2002-03-13 發送簡訊給我 |
|
jieshu
版主 發表:42 回覆:894 積分:745 註冊:2002-04-15 發送簡訊給我 |
引言: 我整理一下您說的建議,意思是說,今天如果我是在A電腦上以 「UserA/1234567」這樣的帳號密碼登入Windows並執行Server端時,在Clinet端 的B電腦上,也得使用「UserA/1234567」這樣的這帳號密碼設定登入系統,才能 呼叫Server端的程式,是嗎?這是否意味者每次我要執行這套系統的Clinet端 程式時,我都得用這套帳號密碼登入才行呢? 問的問題有點不入流,還請版主多包函,謝謝您。顯然大部分的人都對WinNT系統的權限設定不甚清楚, 我是在資策會高階程式設計師養成班時, 老師有教過, 但當時學起來也是很清楚, 後來常接觸使用, 就慢慢了解, 一時也不曉得要如何講解. 不是這樣的, 一般Server可設很多組帳號, 以讓User登入使用, 不同帳號可設不同權限存取分享的資料夾或其他系統資源, Server一般也都用Administrator登入為多, XP我就不太清楚. 在Server的多組帳號中要有您登入自己電腦的帳號密碼才行, Server用哪一組帳號密碼登入皆可, 但要有Administrators權限運作起來會比較順利, 或者啟用guest帳號, 但不建議使用, 會使Server安全性降低, 或許改用SocketConnection會是更好的方式, 之前也有討論過. <iFrame src="http://www.coss.com.tw/jieshu/sign.htm" width=400 height=105 scolling="NO" border="0"></iFrame> 震江系統(股)公司: http://www.coss.com.tw/ 捷舒軟體設計坊: http://www.coss.com.tw/jieshu/
------
人生有夢,逐夢而行 人若為善,福雖未至,禍已遠離 人若為惡,禍雖未至,福已遠離 http://www.taconet.com.tw/jieshu/ |
mirage
初階會員 發表:40 回覆:101 積分:28 註冊:2004-01-05 發送簡訊給我 |
wingtang兄您好:
因您提供之資訊太少,會導致無法連接資料庫的因素又很多,
如您是新手且只想做簡單的c/s架構,建議您:
1.server端:只安裝資料庫,使用原始設定,勿更改原始設定,如:port等.
2.client端:最好是在server作業系統上編譯,使用TDataModule即可,
搭配dbexpress元件連接及操作資料庫(dbexpress效能很好). 相信以上比較簡單的c/s架構,不必經過dcom等所謂的安全設定(win有所謂安全無虞嗎?),sever端只要開啟資料庫的port,由資料庫來驗證是否連接,依您目前之架構,改成我建議的方式,是很容易又快,(約20分鐘就可改好),等熟悉c/s架構及相關設定之後,您再改回您要的方式或其他架構,其他請多多利用"搜尋"來找文章及範例,相信您可獲得很大的收穫.
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |