EAServer 新手上路----JaguarCts開發人員必讀

來源:互聯網
上載者:User
server

SyBase EnterPrise Application Server新手上路

Sybase EAServer的文章也有一些,很少提及到開發中的一些細節問題。本人從事JaguarCts開發不久,遇到了許多細節問題,想來剛從事JaguarCts開發人員也會遇上,以做參考,另則心中還存有許多問題,故撰此文,起拋磚引玉之效,望JaguarCts高手能釋疑,深表感謝。

一、系統配置部分:
1、 運行環境:
WIN2000 SERVER版,SP2補丁,P3850CPU,PB8.0Beta+EAServer3.6.1。
2、 運行環境安裝注意事項:
在開發環境中JaguarCts伺服器不要安裝成NT服務,因為開發中經常修改JaguarCts組件,會出現“OBJECT CAN‘T SAVE”的錯誤,若不是NT服務,用Jaguar Server(debug)。出現此類錯誤後重啟動J aguar Server(debug)即可。若安裝成NT服務可用以下指令刪除:
serverstart servicename  -remove  (serivename是NT服務中Jaguar的服務名)
WIN2000 SERVER版一定要打補丁,其實SP1也可,否則無法組建代理程式(Proxy)。
3、 啟動Jaguar管理器(圖(一))
(A) JaguarMagager菜單Tool\Connect\ Jaguar Manager。

(B) 點Profile Manager可以新增一個Profile。
(C) 在User Name 中輸入JAGADMIN(系統)
(D) PassWord預設為空白。
(E) Host Name可以是LocalHost。(如果你有一定的經驗,它可以改為你的機器名,但在Connect成功後要進去修改Listener中各連接埠的主機名稱。)
4、 啟動安全管理器(圖(二))
(A) JaguarManager菜單Tool\Connect ecurity Manager。
(B) PIN預設密碼是“SYBASE”
5、 修改Jagadmin的密碼
(A) 當3串連成功後,在JaguarManager中雙擊Servers,顯示當前所有服務,選一服務後擊右鍵,在右鍵菜單中選server property開啟屬性面板。
(B) 在屬性面板中選Security改密碼。

6、 管理串連緩衝
(A) 在JaguarManager中雙擊Servers,在列表中選一個Server。
(B) 選Install Connection Caches
(C) 右鍵,在彈出的菜單上選“Create and Install a New Connection Cache”
(D) 在彈出的視窗中輸入Connection Cache名。
(E) 確定後就進入了Connection Cache配置面板。
(F) 本文以配置SQLSERVER為例。在General選項卡中配置:Server Name 為SqlServer的服務名。User Name為登入SqlServer的使用者ID,輸入PassWord。在Driver選項卡中選ODBC,DLL OR CLASS NAME 為ODBC32.DLL。PING一下試試。
(G) 若PING通不過,你就得看一下本文前面(3)提到的HostName你輸入的是什麼,若LocalHost就不行,改為你的機器名。

二、開發應用部分
A、服務端:
1、 建立EAServer Profile如下圖。Server Name即電腦名稱。Port Number為9000,Login Name為Jagadmin。
2、 在NEW----TARGET----EAServer Component開始嚮導
3、 Next-Next-應用程式名稱、庫檔案存放-Next-Implement New InterFace--PBObjectName(n_cst_base)EAServer Component Name--EAServer Profile--Pakeage Name(組件以包為單位,新增一個包或選一個存在的包)--Component Type(stadard component)--Instance Pooling Options(Supported)--Transaction Supported Option(Not Supported)--Interface Options(Next)--Other Options(全選)--Project(Next)--Next--Next--Finish
4、 開啟剛建立的組件N_cst_base,在Constructor事件中:
   SQLCA.DBMS       = "MSS Microsoft SQL Server 6.x"
   SQLCA.Database   = "Jaguar_2001"
   SQLCA.ServerName = "jaguarcts"
   SQLCA.LogId      = "sa"
   SQLCA.AutoCommit = False
   SQLCA.DBParm     = ""
   CONNECT USING SQLCA ;
   IF SQLCA.SQLCODE = -1 THEN
      messagebox(“system”,"資料庫連接失敗!"+SQLCA.SQLERRTEXT)
   END IF
5、 在N_cst_base的Destructor事件中:
   Disconnect Using SQLCA ;
6、 在N_cst_basek中新增一個對象函數:
of_user_login(string as_userid,string as_password) return integer
//
integer  li_return
SELECT count(*) INTO :li_return FROM jag001 WHERE jag0101 = : as_userid and jag0102 = : as_password ;
RETURN li_return
Jag001表的欄位:jag0101(varchar(20))—jag0102(varchar(20))
7、 產生組件代理對象
NEW--PROJECT----EAServer Proxy Wizard一直NEXT,值得注意的是出現一個TreeView時、讓你選一個包(即在3中建立的包),下一步是選一個代理庫(可以選存在的PBL,也可以新增一個PBL),NEXT後是Deployment Actions,要選三(代理對象名=包名+組件名)
8、 若不出意外,代理對象就產生了。
B、用戶端:
1、 建立一個應用。
2、 建立一個連線物件
NEW--PBObject--Connection Object Wizard其中值得注意的是Connectivity Options(Requires EAServer Connection);Pakage Name即3中建立的包。Connection Object名可以預設,也可以自已輸入;resource of connect information可以任選一種。
3、 在新應用的open事件:
n_cst_connect  inv_connect_srv         //2建立的連線物件聲明
Jaguar_2001_n_cst_base  inv_login_srv   //代理對象聲明
integer        li_return

inv_connect_srv = CREATE n_cst_connect
li_return = inv_connect_srv.ConnectToServer( )  

TRY                   //建立代理對象inv_login_srv
li_return  =
inv_connect_srv.CreateInstance(inv_login_srv,"Jaguar_2001/n_cst_base")
CATCH (cts_pbuserexception uae)
    li_return = 999
END TRY

IF li_return <> 0 THEN
    MessageBox("Error Info", "ErrorCode= " + string(inv_connect_srv.ErrCode) + "~nErrText= " + inv_connect_srv.ErrText)
END IF

TRY             //  進行登入,表中有一行資料(xzh2000,000000) 
    li_return = inv_login_srv.of_user_logon(‘xzh2000’,’000000’)
CATCH (cts_pbuserexception uae1)
    li_return = 999
END TRY

If  li_return  = 1 then
   Messagebox(“system”,”OK”)
Else
   Messagebox(“system”,”CANCEL”)
End if

三 說明:
本文是在Jaguar Manage(Debug)啟動情況下通過,如有疑問,請發EMAIL:至:xzh2000@fm365.com


 


相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

11.11 Big Sale for Cloud

Get Unbeatable Offers with up to 90% Off,Oct.24-Nov.13 (UTC+8)

Get It Now >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。