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

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

 

时间: 2024-08-03 21:17:55

EAServer 新手上路----JaguarCts开发者必读的相关文章

PHP新手上路基础教程目录

基础教程 PHP新手上路基础入门教程目录清单,本教程由网页教学网收集整理希望对初学PHP的朋友有所帮助,当您转载时别忘了加上本站的连接,谢谢! PHP新手上路基础简介 为什么要选择PHP 从一个简单的程序来了解PHP PHP入门之数据类型 建设一个简单交互的网站(一) 用include和require进行模块化,从HTML到PHP 建设一个简单交互的网站(二) 计数器 反馈表单 站内搜索引擎 建设一个简单交互的网站(三) 密码验证 建设一个简单交互的网站(四) 文件上传 建设一个简单交互的网站(

归并排序-新手上路,链表学习中,问题是对功能函数不理解,问题已备注,请帮我在问题处写思路,尤其功能函数,谢谢!

问题描述 新手上路,链表学习中,问题是对功能函数不理解,问题已备注,请帮我在问题处写思路,尤其功能函数,谢谢! //第九章章末习题第10题#include//建立a b两链表包含学号成绩,把两个链表合并升序排列输出.求思路!#include#define LEN sizeof(struct student) struct student{ long num; int score; struct student * next; };struct student listalistb;int nsu

[新手上路]为什么同样一个sql文件 导入mysql毫无问题但是导入sql2005各种报语法错误

问题描述 [新手上路]为什么同样一个sql文件 导入mysql毫无问题但是导入sql2005各种报语法错误 DROP TABLE IF EXISTS messages; CREATE TABLE messages (id int(11) NOT NULL AUTO_INCREMENT,saver varchar(255) DEFAULT NULL,savetime varchar(255) DEFAULT NULL,content varchar(255) DEFAULT NULL,recont

安卓加速度传感器-[新手上路]安卓?怎么调用加速度传感器的数据

问题描述 [新手上路]安卓?怎么调用加速度传感器的数据 大神们有没有代码包,或者在哪里可以找到类似的程序源代码想要加速度传感器数据进行处理 解决方案 http://blog.sina.com.cn/s/blog_45e6be0801013mzm.html

新手上路

问题描述 请问下在这论坛上面怎么下载东西我看了半天都没看到需要积分下载还是什么的 解决方案 解决方案二:有下载频道,去下载频道去下.有的需要积分,有的不需要积分.下载积分.解决方案三:先后找到下面图中的2个按钮:http://hi.csdn.net/attachment/201111/9/139605_1320815592s41G.jpg解决方案四:飘过哈·解决方案五:新手上路危险啊.解决方案六: 解决方案七:我们一样,呵呵,互相鼓励,共同进步解决方案八:新手上路了,大家让开点,被被碰着啦!快闪

金牛写卡8 1的用法-金牛读卡 金牛写卡8.1的用法 新手上路 求老师讲解

问题描述 金牛读卡 金牛写卡8.1的用法 新手上路 求老师讲解 金牛写卡8.1的用法 新手上路 求老师讲解

c语言-新手上路,求教一个C语言问题

问题描述 新手上路,求教一个C语言问题 C语言,输出n个学生成绩,并把输出的成绩从大到小排序,求代码...... 解决方案 这个书上有吧..... 解决方案二: 代码还是要自己写.不要这样 解决方案三: c语言中的一个问题关于C语言的一个问题一个C语言问题---------------------- 解决方案四: 就用if语句就行了,把学生成绩定为数组,然后从第一个开始与下一个比较,如果前面的小于后面的就交换,就是冒泡法排序. 解决方案五: ? //依次输入10个学生的成绩 #include?"

本人自学编程新手上路请问我的这个怎么错了

问题描述 本人自学编程新手上路请问我的这个怎么错了 解决方案 目测中英文不区分问题,在编程的时候切记切换为英文状态,而且最后一行应该是:printf("n"); 解决方案二: 第一个for循环中最后一个表达式怎么是1==,这是啥意思啊? 解决方案三: i==应该是i++吧,而且最后一行应该是:printf("n");

新手上路 看阳台上都能种点啥

你还在沉迷于网络的http://www.aliyun.com/zixun/aggregation/5781.html">开心农场吗?在代女士的眼里这项游戏已经OUT了,要玩就玩真的.没有菜地?没关系,小小的阳台也可以绿意盎然.在阳台上种蔬菜好处多多,不仅能观赏.食用,还能起到净化室内空气.调节空气湿度的作用.那么,阳台种菜需要注意啥?为此,记者采访了种菜达人代女士,让我们跟她一起,实现"有点田"的生活理想吧! 新手上路 看阳台上都能种点啥 阳台能种什么菜?这由两方面决定