用ibx元件存取interbase,若有錯誤有ErrorCode來判斷錯誤型態嗎? |
答題得分者是:P.D.
|
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 請教大家: 用ado元件去存取access的資料庫的table時,可在ado元件的onPostError事件或onDeleteError事件來補捉ErrorCode,然後以ErrorCode來判斷錯誤型態及錯誤原因,請問用ibx元件存取interbase,若有錯誤有ErrorCode來判斷錯誤型態及錯誤原因嗎?若沒有該用什麼來判斷錯誤型態及錯誤原因呢(因為要顯示中文錯誤訊息)InterBase並沒有支援中文介面, 所以要想有中文訊息, 除非自己寫code InterBase會發生錯誤不外乎在於connection, open, applyupdate, commit 等這些動作, 所以可以利用 procedure Tform1..... var errmsg: string; errchn: string; begin try ..... except on E:Exception do begin errmsg:= E.Message; if errmsg='....' then errchn:= '錯誤1' else if errmsg='xxxxx' then errchn:= '錯誤2' .... showmessage(errchn); end; end; end;以上是一個基本的寫法, 不過我個人認為, 就算顯示出了中文錯誤訊息, 使用者 未必能夠有所對應方法, 依我的經驗, 只要出現錯誤視窗, 使用者第一個就電話 通知來了, 所以我比較希望直接引用該原文錯誤(errmsg), 這樣除錯會比較容易, 因為錯誤狀況太多, 我們不可能全部都含括入內! |
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: P.D你好: 1.你說:InterBase並沒有支援中文介面, 所以要想有中文訊息, 除非自己寫code,是否表示其他資料庫軟體能顯示中文錯誤訊息? 沒錯, 如 MS_SQL的錯誤訊息就是全中文化 2.INTERBASE 6.5 VER與7.0有沒有什麼差別? 沒用過7, 不過我的資訊上, 6.X 與 7.X 主要有一些結構定義有增強, 還有6.X使用gdb, 7.0似乎改了副檔名 3.interbase replication server的功能是什麼,很重要嗎?若隨時用windows檔案總管來複製資料庫檔(.gdb)或用ibx備份資料庫檔(.gdb),是不是與interbase replication server的功能是一樣? 我不清楚interbase replication server是啥! 我目前都是用FireBrid, 不過InterBase是檔案類型的SQL資料庫, 所有的系統參數都是定義在GDB檔中, 所以基本上只要複製該檔就可以帶著世界PAPAGO, 不像MS-SQL的參數是定義在MS-SQL的系統主表中, 光複製一個MDF檔, 到其他的SQLSERVER上未必可以啟動的了, 所以複製這一項對Interbase來說並沒有那麼重要與複雜! |
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: P.D你好: 1.你說現在都用FIREBIRD,請問用delphi的ibx元件去存取,容易嗎? 與InterBase都一樣可以使用, 我現在就是使用ibx來連結FireBird 2.用delphi的ibx元件去存取interbase,若interbase是在別台電腦上,用IBdataset元件去存取資料且不使用IBdataset元件的快取可以嗎? 一般不使用cache是很冒險的事情, 就好像cpu取消cache的功能一樣 3.那台安裝interbase server的電腦,可以是win xp HomeEdition版嗎?若不行那最少是須什麼版的OS Interbase只要透過3050port及TCP/IP可以通行, 就算是WIN98一樣可以做為SERVER的資料供應端 |
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: P.D你好: 1.interbase不是也支援Netbuie及Ipx/px網路協定 2.若安裝interbase server的電腦與其他電腦用TCP/IP連結,而安裝interbase server的電腦也可上網(ip非固定),這樣運作會不會有問題呢?Interbase確實支援, 但 NETBEUI 在 WINxp下早已不支援(雖然還可以外掛進來), 但NETBEUI的連結存在太大的漏洞, 所以十分不建議使用, 而且NETBEUI可以利用TCP來達成, 因此不要太在意這個介面 另外 IPS/IPX是 NetWare 的產物, window提供這個介面純粹是為了早期 NetWare的用戶, InterBase雖也有支援, 但支援Novell第幾版的我就不清楚, 因為 Net 4.x版是一個很失敗, 極度不穩定的產品, 而到 5.x版發展成龐然大物, 仍難與微軟相抗衡, 終告步入末途, 實際除了舊有客戶持續沿用外, 還有人會想用NetWare? 答案應該是 No 吧! 另外, InterBase是不管是否固定或撥接制, 只要能"持續"連線, InterBase就可以通行, 只是用非固P制, 會產生比較多困擾, 因為遠端client的連線方式是 203.204.192.122:D:\Mydata\MyDatabase.gdb 的方式, 如果你是用撥接做為主機端, 但在client端的是不是每次都要改變參數, 實際的操作是不容許這麼玩的, 這就是為什麼要固P, 不過並不代表非固P者不可用, 只是TCP/IP的控制上有給他一點複雜, 非本篇所能討論的事情,為簡單行事, 採用固P是最直接的, 而且目前在台灣申請固P已非很困難, 不妨從此方向考量! |
ry_lee
高階會員 發表:368 回覆:251 積分:123 註冊:2002-03-19 發送簡訊給我 |
P.D你好: 謝謝你的指導, 1.如果採用tcp/ip,如果安裝interbase server的電腦使用固定ip,client端的電腦是否也要一個固定的ip呢? 2.client端的電腦存取interbase server的資料庫(.gdb),是否在設定時採140.117.10.2:D:\Mydata\MyDatabase.gdb 的方式呢?(140.117.10.2是interbase server的ip) 3.client端的電腦在存取interbase server的資料庫(.gdb)時,是否不須在對要存取的資料庫設別名(如存取paradox的檔案要事先設別名)?
|
P.D.
版主 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: P.D你好: 謝謝你的指導, 1.如果採用tcp/ip,如果安裝interbase server的電腦使用固定ip,client端的電腦是否也要一個固定的ip呢? client端只要能連上internet就可以, 其他就不重要了(建議必須是有穩定連結) ! 2.client端的電腦存取interbase server的資料庫(.gdb),是否在設定時採140.117.10.2:D:\Mydata\MyDatabase.gdb 的方式呢?(140.117.10.2是interbase server的ip) 沒錯, client的連結語法 主機的IP:主機INTERBASE資料檔所在的絶對路徑\主機的資料檔.GDB 如果是內部連結, 則主機IP就可以指定 192.168.1.XXX:D:\Mydata\MyDatabase.gdb 3.client端的電腦在存取interbase server的資料庫(.gdb)時,是否不須在對要存取的資料庫設別名(如存取paradox的檔案要事先設別名)? InterBase好像也有提供別名的用法, 不過我沒有研究, 似乎使用別名可以比較讓其他人不易拆解實際ip的位址, 我都是直接使用ip方式, 再把ip內容加密, 不讓別人可以很輕易的讀取內容資料 |
scotthsiao
高階會員 發表:13 回覆:324 積分:147 註冊:2005-02-01 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |