關於資料庫(Paradox)的問題?? |
|
BOOK
一般會員 發表:19 回覆:18 積分:7 註冊:2002-04-15 發送簡訊給我 |
請教各位前輩: 1.我設Alias為網路磁碟機路徑,指向Server端的Database,但是沒設BDE的net dir(設了好像Server端當機,Client端程式也會掛,必須重開機才行,所以沒設它),然後用TQuery去新增資料,有時資料會新增不進去,必須Client端程式重開才行(程式沒掛,我用try機制,會跑到例外狀況),請問為什麼(但是有些Client端可以,有些不行,讓我十分不解)?? 2.使用DataModule和TSession是什麼意思阿(不好意思,以前沒有接觸過這方面的東西,請各位前輩費心說明一下),跟一般在應用Paradox的情形有何不同?? 謝謝!!
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
1.我設Alias為網路磁碟機路徑,指向Server端的Database,但是沒設BDE的net dir(設了好像Server端當機,Client端程式也會掛,必須重開機才行,所以沒設它),然後用TQuery去新增資料,有時資料會新增不進去,必須Client端程式重開才行(程式沒掛,我用try機制,會跑到例外狀況),請問為什麼(但是有些Client端可以,有些不行,讓我十分不解)??
NetDir 一定要設到Server的一個共享目錄下,且每一台電腦都要設到同一個目錄
您Local Share要設為True
因為NetDir設到各自電腦的C:\下所以會有Lock的問題
2.使用DataModule和TSession是什麼意思阿(不好意思,以前沒有接觸過這方面的東西,請各位前輩費心說明一下),跟一般在應用Paradox的情形有何不同??
DataModule是用在存放資料庫元件的一個虛擬Form,您可在其中放TDatabase/TTable/TQuery等元件
TSession就是一個對資料庫的通道,一個BDE的AliasName會共用一個TSession,
一個Session最多可同時開啟48個Tables
以上言論有錯之處歡迎指正
~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
BOOK
一般會員 發表:19 回覆:18 積分:7 註冊:2002-04-15 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
引言: 謝謝站長的指點!! 再請教如果Client和Server共用Server的DB,那.net路徑就要指到Server端,那如果同時Client和Server共用Client的DB,那.net路徑怎辦,一台電腦只能指向一個地方阿,是不是有辦法動態改變,是不是要利用TSession元件,如果是的話,能否請您給簡單的範例?? 謝謝!!NetDir是所有的電腦(無論Server或Client)都指到同一台電腦的同一個目錄就可以了,不管您的資料是放在server或Client端一樣,也就是對Paradox來說並沒有所謂Server或Client,只就資料放在那理的問題,NetDir的目錄會存放一些Lock的控制檔,讓不同電腦同時存取同一個Paradox檔時不會衝突! 至於TSession對Paradox來說是不需要用到的,TSession應該是在大型資料庫才會用的到的! ~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
BOOK
一般會員 發表:19 回覆:18 積分:7 註冊:2002-04-15 發送簡訊給我 |
|
BOOK
一般會員 發表:19 回覆:18 積分:7 註冊:2002-04-15 發送簡訊給我 |
請問各位: 1.我程式出現Share violation的問題,是不是只要將每台電腦的Local Share設為True就可以解決了,還是要用其他辦法?? (PS.我參照站長的增進BDE效能一文,可是我的程式都是BDE(Delphi)的阿,但會有同時存取DB的情形,那到底要設為False還是True呢??) 2.我發現到一旦出現此問題,我的前端就無法將資料填進Server端的資料表,必須前端程式重開才可,請問為什麼阿?? 3.又系統必須一直保持運作,即使Server電腦當機,前端也不能當才行,再請教我在填DB用try機制可以達到嗎(BDE本身會不會檢查.net檔的路徑存在與否,而造成當機)?? 謝謝!!
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
1.我程式出現Share violation的問題,是不是只要將每台電腦的Local Share設為True就可以解決了,還是要用其他辦法??
以我的經驗是每台電腦都要設定為Local Share=True的
(PS.我參照站長的增進BDE效能一文,可是我的程式都是BDE(Delphi)的阿,但會有同時存取DB的情形,那到底要設為False還是True呢??)
該文章是我從Borland的網站翻譯過來的,設定為True會比較好
2.我發現到一旦出現此問題,我的前端就無法將資料填進Server端的資料表,必須前端程式重開才可,請問為什麼阿??
這可能是Paradox Lock了
3.又系統必須一直保持運作,即使Server電腦當機,前端也不能當才行,再請教我在填DB用try機制可以達到嗎(BDE本身會不會檢查.net檔的路徑存在與否,而造成當機)??
您可先試著開起位於netdir資料夾的一個檔案看有沒有辦法開啟,就知道Server存不存在,若不存在就不要使用update至server的指令!
~~~Delphi K.Top討論區站長~~~
------
~~~Delphi K.Top討論區站長~~~ |
BOOK
一般會員 發表:19 回覆:18 積分:7 註冊:2002-04-15 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |