集算器支持包括数据库在内的多种异构数据源。这里,我们通过例子来看一下集算器访问数据库的方法。
集算器可以连接数据库的jdbc驱动,也可以通过jdbc-odbc桥连接数据库。由于版权的原因,使用集算器的程序员需要自行准备数据库的jdbc或者odbc驱动。Jdbc驱动jar包准备好之后,需要放入集算器IDE安装目录的/common/jdbc中,例如:C:\Program Files (x86)\MicroInsight\common\jdbc目录中。
集算器集成开发环境的ODBC配置界面如下:
集算器的集成开发环境提供了多种数据库的jdbc配置提示,包括:SQLserver、Oracle、DB2、Sybase、Access、mysql、hsql、teradata、postgres等。如果需要连接的数据库不在这个范围内,可以使用other类型来添加。配置界面如下:
驱动jar包放好,配置完成之后,在IDE中就可以很方便的连接数据库,取出表中的数据:
上图中A1单元格连接上了一个名为demo的hsql数据库,A2单元使用sql语句查询了employee表,作为集算器的序表存入了A2单元格这个变量中,arg1是外部传入的参数。A3单元格关闭了数据库连接,A4单元格对外返回查询结果。集算器的集成开发环境右下角红框中可以显示demo数据库的表名、字段名,可以方便程序员书写sql语句。
和集算器提供的其他函数一样,query函数包含选项和参数。如果写成query@1(“select * from employee”),@1是表示使用了1选项,查看函数说明可知,是仅仅返回sql语句取出的第一条记录。而括号中是参数,上图的括号中是一条sql语句的字符串,没有其他参数,也就是说其他所有的参数都使用了默认值。
上图中的集算器网格程序可以集成到Java应用中,作为集算器jdbc驱动被Java程序调用,具体方法是:
1、 准备dfx文件。
将集算器程序保存成test.dfx。
2、 部署集算器jar包。
将调用集算器程序所必须的jar包放入Java应用的classpath中。如果是web应用,可以放在WEB-INF/lib目录下。这些jar包都位于集算器IDE的安装目录\esProc\lib下,包括:
dm.jar 集算器计算引擎及JDBC驱动包
poi-3.7-20101029.jar 处理对Excel文件的读写
log4j_128.jar 处理日志
icu4j_3_4_5.jar 处理国际化
dom4j-1.6.1.jar 解析配置文件
3、 部署数据库驱动jar包。
将集算器连接数据库所需要的数据库jdbc驱动包也放入Java应用的classpath中。例如:demo数据库的hsql.jar。
4、 配置dfxConfig.xml、config.xml文件。
config.xml文件中包含了集算器的基本配置信息,如注册码、寻址路径、主目录、数据源配置等,可以在集算器安装目录的esProc\config路径下找到,其中存储的信息与集算器的选项页面中设定相同。dfxConfig.xml可以在安装目录esProc\classes中找到。这里介绍集算器连接数据库的部分配置,其他配置参见集算器教程。