Google

给Symfoware客户端打Patch

因为之前没有安装过patch,所以把パッチT002729LP-06的安装过程记了下来 这个Patch跟CM(Connection Manager)有关,为了验证,所以多了CM的安装、配置过程,如何打patch也就step 4中的内容 Step 1.环境搭设 没有干净的虚拟机,安装目录/opt下面有源码包,有的组建还没有删除脚本 磨叽了好久,开始动工,从虚拟机打开一个较早的snapshot,删除CM用以下命令: rpm -qa | grep FJ rpm -e FJSVapccm-2930.50-1 rpm -e FJSVapcap-2930.50-1 如果使用rpm删除所有的symfoware制品,会有lib依赖的问题,删除不干净,而且安装新的Symfoware制品也会有问题 而Symfoware RDB这块儿最好使用安装包里提供的删除脚本,一般是/opt/symfoware/setup/symfo_remove 删除干净后,安装Symfoware client 然后安装CM CM也是客户端工具,CM安装包中除了CM外,也集成了其它客户端组件,如JDBC,ESQL,所以也可以跳过Client的安装,直接安装CM Step 2.使用CM把远程主机上的RDB实例映射到本地 在远程机器上创建RDB实例,并启动apcspv Ps:客户端要使用CM,Server端要有apcspv工具与之配合,目前只有Ex版(Enterprise Extends Edition)才有,所以要装EX版的Server 在客户端配置CM,修改CM配置文件: RDBSYSTEM=(本地化的RDB别名,远程主机的IP,RDB port,apcspv port) SQLSERVER=(本地化的DB别名,远程主机上的DB名,实例的本地别名) 启动CM apcstart 查看 apcnet(on line状态) 这样就将远程主机上实例映射到本地 注:X86和X64的CM安装包是同一个,ia64平台则是另外一个安装包 Step 3.使用client rdbexecsql是Symfoware中类似于Oracle SQLPlus的功能的工具 因为RDBexecsql是基于ESQL开发的,所以要使用ESQL的配置文件(如果Client和RDB实例在同一台机器上,则不需要) 简单的应用: export SQLRTENV=路径/sqlenvfile sqlenvfile可以如下: DEFAULT_CONNECTION=(本地化的DB别名,用户名,密码) 可以通过rdbexecsql [...]

关系型数据库家谱

看《系分》教材,有一章节是关于数据库的,一般这种章节开篇都会列出当下几个著名的数据库产品,我不期待有symfoware,但是把Ingres列到第二位,我还是有点不解,Wiki了一下,虽然Ingres的辉煌是明日黄花(系分教材也真该更新下了),但是,面对这祖师级的数据库产品,Symfoware等后辈还是得道一声“失敬” 俺按照wiki上的介绍,把UML工具JUDE当做画图工具,画了一张关系型数据库族谱:

了解ODBC

大四有次课程设计,是做数据库应用程序的,当时按照老师的那本书中的实例,几乎没有动脑,程序就ok了 现在觉得这种行为真愚蠢。 工作后,接触的全部是跟数据库驱动相关的bug,对各种Driver的使用也了然于胸,大学时候能有这种实习机会的话,绝对大受裨益 后知后觉的事太多了… 之前一直搞不清楚ODBC是微软自己的协议,还是一种通用标准,很多数据库只有在Windows平台上才有ODBC库,比如Symfoware 但是在SQL ISO2003中没有ODBC这一章,却在第三章有对CLI的实现进行了详细说明,这让人费解。 最近综合一些信息,包括自己的理解,维基百科上的词条等,算是得到了答案: 1.用户使用ODBC是通过ODBC连接管理器+ODBC驱动程序实现的。Windows上的Microsoft ODBC是使用最广泛的ODBC管理器工具,而数据库厂商去实现ODBC驱动程序,厂商的ODBC驱动程序对用户来讲,往往是不可见的或者不能直接使用的,ODBC管理器可以用来设置ODBC数据源,而用户写的C程序也可以调用微软提供的ODBC API函数 2.ODBC标准是由微软最早提出的,发展到ODBC3的时候,已经很成熟,ISO就根据ODBC标准制订了CLI标准,现在使用的统一的的C语言接口,所以叫做Call-level Interface,功能跟ODBC几乎相同。 3.也许是习惯的缘故,Symfoware面向Windows ODBC管理器的库仍称之为ODBC库,CLI库是后来完全基于ODBC库开发出来的,接口增加了,也脱离了对ODBC管理器的依赖,扩展性和独立性都提升了不少 4.IBM的DB2公开了CLI接口,Symfoware没有,Symfoware在Windows平台可是使用ODBC API,但是非Windows场合,却不能,即使巧妙的用到了,出了问题Fujitsu是免责的

Symfoware V10がやっと発表できそうです

如题,历时两年时间,Fujitsu中间件产品之一Symfoware的V10.0发布了。刚好也是从大学毕业进入公司工作的这一段时间,一年半的时间都是在维护Symfoware,修bug,加些小功能,算是增砖添瓦,添油加醋,为Symfoware的成功发布做了一点点的小贡献。 除了FUJISTU的重要客户和内部员工,不晓得是否有人会关注V10,一些大型的开发往往都会胎死腹中,V10没有沦落至此,很是幸运,也辛苦了一大批兄弟姐妹。

shell编程–命令解释程序

最近的一个小项目因为不晓得shell编程被PM羞辱了,呜…. 具体如下: Symfoware中有两个命令能够执行DDL:命令rdbexecsql和命令rdbddlex rdbddlex是比较早的命令,rdbexecsql则是最近开发的,支持DML,最近做了扩展。也支持了DDL 所以,rdbexecsql覆盖了rdbddlex的功能 现在想用rdbddlex的测试集测试rdbexecsql,有一个简单的方法,就是写一个shell程序,用rdbexecsql命令解释rdbddlex 写这个shell,需要用到getopts命令和熟悉rdbexecsql与rdbddlex两个命令之间的差异 删减版的shell程序的框架示意如下: ————————————————rdbddlex程序开始————————————————————— #!/bin/bash #rdbddlex — use rdbexecsql to replace rdbddlex(include their options) ############################################################################## while getopts “:d:xlv:” OPTION #:对”:d:xlv:”的解释: #”:d:xlv:”是rdbddlex支持的参数 #“:“表示之前的option要有相应的参数,比如-d选项后必须跟数据库名 #d之前有个”:“是因为rdbddlex 的选项都是可选的,但是必须跟一个文件名作为rdbddlex 的参数 do case $OPTION in d)dbopt=Y dbname=$OPTARG;;#变量$OPTARG保存了当前$OPTION对应的参数(如果有的话) x)xopt=Y;; l)lopt=Y;; v)if [ ${OPTARG}M = "CLM"M ];then vopt=Y else echo “usage:rdbddlex [ -d 数据库名][ -x ][ -l ][ [...]