分享
 
 
 

EAServer 新手上路----JaguarCts开发者必读

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

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\Security 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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有