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

原创 2007年09月28日 22:43:00
Sybase EAServer的文章也有一些,很少提及到开发中的一些细节问题。本人从事JaguarCts开发不久,遇到了许多细节问题,想来刚从事JaguarCts开发者也会遇上,以做参考,另则心中还存有许多问题,故撰此文,起抛砖引玉之效,JaguarCts高手能释疑,深表感谢。

一、系统配置部分:
1
运行环境:
WIN2000 SERVER
版,SP2补丁,P3850CPUPB8.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

BProfile Manager可以新增一个Profile
CUser Name 中输入JAGADMIN(系统)
D PassWord默认为空。
E Host Name可以是LocalHost。(如果你有一定的经验,它可以改为你的机器名,但在Connect成功后要进去修改Listener中各端口的主机名。)
4
启动安全管理器(图(二))
A JaguarManager菜单Tool/Connect ecurity Manager
B PIN默认密码是“SYBASE”
5
修改Jagadmin的密码
A3连接成功后,在JaguarManager中双击Servers,显示当前所有服务,选一服务后击右键,在右键菜单中选server property打开属性面板。
B在属性面板中选Security改密码。

6
管理连接缓冲
AJaguarManager中双击Servers,在列表中选一个Server
BInstall 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选项卡中选ODBCDLL OR CLASS NAME ODBC32.DLLPING一下试试。
GPING通不过,你就得看一下本文前面(3)提到的HostName你输入的是什么,若LocalHost就不行,改为你的机器名。

二、开发应用部分
A
、服务端:
1
新建EAServer Profile如下图。Server Name即计算机名。Port Number9000Login NameJagadmin
2
àTARGET----àNEW----EAServer Component开始向导
3
Implement NewàNext-à应用名、库文件存放-àNext-àNext- àPBObjectName(n_cst_base)àInterFace--EAServer àComponent Name--EAServer PakeageàProfile-- InstanceàComponent Type(stadard component)--àName(组件以包为单位,新增一个包或选一个存在的包)-- Transaction Supported Option(NotàPooling Options(Supported)-- OtheràInterface Options(Next)--àSupported)-- FinishàNext--àNext--àProject(Next)--àOptions(全选)--
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_baseDestructor事件中:
   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
生成组件代理对象
àPROJECT----àNEW--EAServer Proxy Wizard一直NEXT,值得注意的是出现一个TreeView时、让你选一个包(即在3中创建的包),下一步是选一个代理库(可以选存在的PBL,也可以新增一个PBL),NEXT后是Deployment Actions,要选三(代理对象名=包名+组件名)
8
若不出意外,代理对象就生成了。
B
、客户端:
1
新建一个应用。
2
新建一个连接对象
Connection Object Wizard
其中值得注意的是ConnectivityàPBObject--àNEW-- Options(Requires EAServer Connection)Pakage Name3中创建的包。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

 
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

新手上路学习配置C,C++,GTK等开发环境

from:http://forum.ubuntu.org.cn/viewtopic.php?t=40971本人想学习一下Linux下的C,C++程序开发,这几天一直在研究Linux下的C语言编译环境的...

新手上路(一):基于android平台的投票应用的开发(三)之问题整理

东西已经接近完成了,现在将一些遇到的问题整理一下发上来!后面会陆续的奉上源码! 刚才一个mysql+hibernate的插入数据的问题,终于是被解决了 ,哥们被这个问题困扰好久了 ,今天终于是下定决...

新手上路(一):基于android平台的投票应用的开发(二)

坏习惯的养成很容易,但要养成一个好习惯很不容易! 距离心血来潮想写博客把自己的学习过程记录那天已经很远了,真是伤不起! 下面说一下这些天做的事情吧! 这是做的一个需求清单: ...

新手上路(一):基于android平台的投票应用的开发(三)之问题整理

今天这个问题也很有意思 !json串的一个问题!,而且我依然很没想明白! 下面这个json串用json校验工具检测的时候是错的 ,但是我android端的解析时候能够解析出来 ,得到数据: [...

MS-OTN新手上路_完整版

  • 2016-12-14 15:46
  • 6.90MB
  • 下载

独立开发者:新手做2D手游该用哪些工具

随着全球手游行业规模将突破250亿美元,越来越多的开发者开始进入手游研发领域,而作为一名菜鸟,很多时候,如果没有其他开发者的建议,我们会走很多弯路,最近独立工作室Sheado.net公司的Chad A...
  • guggy
  • guggy
  • 2014-12-19 10:32
  • 498

PHP新手上路中文教程.chm

  • 2013-09-02 22:32
  • 343KB
  • 下载

PHP新手上路中文教程.chm

  • 2013-03-29 14:38
  • 343KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)