澳门二十一点游戏赌场 澳门二十一点游戏赌场
    您现在的位置:首页 >> 软件应用 >> SQL教程 >> 内容

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

    时间:2012/7/23 20:07:57 点击:

      核心提示:SyBase EnterPrise Application Server新手上路Sybase EAServer的文章也有一些,很少提及到开发中的一些细节问题。本人从事JaguarCts开发不久,遇到了...


    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


     

    Tags:EA AS SE ER 
    作者:佚名 来源:不详

    共有评论 0相关评论
    发表我的评论
    • 大名:
    • 内容:
  • 澳门二十一点游戏赌场(www.0769online.com) © 2018 版权所有 All Rights Reserved. 邮箱:103150@qq.com 业务QQ:103150 手机:13549753683

    Power By Laoy8 SQL 3.0SP1 粤ICP备10098668号
  •