MyJDBC驱动程序说明文档

1.   为什么会需要重新编写JDBC驱动?

由于先前所使用的PowerBuilder开发工具(简称PB) ,在钻研其数据库连接的参数时,无意发现现在12.5版本的PB已经可以支持JDBC方式连接数据库,故马上产生了一个新奇的想法,我是否可以自己编写一套属于自己的JDBC驱动,使应用程序调用这个JDBC驱动然后生成HTTP请求,数据以json的方式进行编码,访问远端Tomcat服务器的Servlet,然后Servlet接收到访问请求再调用真正的各种数据库的JDBC(MSSQL、MySQL等) 将结果集再使用json编码返回给MyJDBC驱动, 驱动经过json解析后再返回给应用程序,这样可以将原有所有编写的应用程序在不需要改变源码的情形下,变向的将Client/Server架构程序变成三层架构应用。故立即百度了一下,发现基于JDBC驱动,通常有4种类型,Type 1~Type 4 (至于如何区分请读者再另行百度,在此不再赘述) ,通常所说的JDBC驱动都是基于Type 4这种类型的(也就是各大数据库厂商所提供的JDBC驱动,例如MSSQL,MySQL官方能找到的)。两种方式的对比如下图:


2.   这种驱动的优缺点?

优点:

1)        原有PB应用均无需修改源码情形下,通过改变访问接口参数 ,可以将应用部署于互联网中,

2)        同时具有良好的安全性,可以通过接口参数使用gzip方式进行数据压缩。

缺点:

1)        通过其软件架构可以了解到,其访问过程需要经过诸多环节,结构比Type4 JDBC驱动过于复杂,其效率肯定不如Type 4高效,但可以通过优化PB程序结构,大量频繁交互SQL的,可以通过使用存储过程的方式,同样可以适当的提升整体的运行效率。来达到变向规避效率低下的缺点。(即:部分应用需要适当优化PB的程序结构)

3.   编写的这个JDBC驱动包含哪些部分,能实现哪些功能?

此驱动相当于在应用程序与服务器之间多了一层中间件,故此驱动分为两部分程序,一部分为基于Java的JDBC驱动(通常为Jar包形式)

一部分为服务端Tomcat的Servlet程序,部署在Tomcat服务器下(通常将文件夹拷贝至Tomcat的webapps子目录中即可)

可以实现将应用程序安全的部署于互联网环境中。

4.   客户端程序的使用与服务器端的部署

客户端:


1>  若想将应用程序调用接口改为MyJDBC

2>  服务器IP修改为部署Tomcat的服务器ip,默认端口为8090若已修改了Tomcat的Server.xml配置文件的端口号,则需要ip后加冒号和端口号,例如:10.0.0.8:9090注意冒号需要为半角字符

3>  数据库,由于改用三层架构,起始MyJDBC底层工作时, 均会标记每一个客户端虚拟连接至服务器,同时Tomcat服务端Servlet也会保持真实的JDBC连接在所有的连接池中,虚拟连接与真实连接是一对一的对应关系,为了区分和标记每一个连接,切连接必须保持唯一性,数据库这个属性由两部分组成,一部分为配置文件标识(对应Tomcat中properties配置文件主文件名),后面部分为流水号标识每一个唯一的客户端,此部分不可重复,若共享一个标识信息则在服务端也会共享同一个真实连接,这样会导致查询出现异常,这里必须注意

例如:lp:1    lp 则指向对应服务器中Tomcat 服务器中webapps中lp.properties配置文件 冒号后面为流水号为1的客户端

4>  将MyJDBC.jar驱动包文件放置于PB应用程序所在目录中(PB应用程序所在目录全路径不可包含中文,否则会导致数据库无法连接),MyJDBC.jar文件所包含的全路径,同时需要设置在系统环境变量中

5>  由于PB应用程序需要调用JDBC驱动故离不开jre环境,请检查应用程序目录下是否包含jre的子目录,若系统本身已安装了jre同时指定了JAVA_HOME环境变量(JAVA_HOME指向的jre优先级会高于应用程序下的jre子目录,若应用程序目录中包含了jre子目录可不指定JAVA_HOME环境变量,环境变量可以为用户环境变量或系统环境变量均可),故JAVA_HOME指向的JRE必须为32位JRE,若指向了64位JRE也会导致连接不上数据库(因为PB应用程序均为32位,所以其调用的JRE也必须为32位环境)


6>  同时还需要确保应用程序的PB环境运行支持库DLL的存在,通常为若干dll文件,如果是绿色版,请确保这些文件存在于应用程序目录或path环境变量所指向的目录。

7>  若仍然无法连接数据库,请检查应用程序目录中或系统path环境变量路径中是否包含有pbjdbc12125.jar文件的所在路径,同时这个文件必须要真实存在,因为PB应用程序以JAVA方式调用JDBC,这个文件为JDBC接口的调用驱动。

 

服务端:

服务端的目录结构通常为如下形式

1> 在classes目录下通常会保存一些配置文件扩展名为properties,这些为保存至真实SQL数据库服务器的连接信息,通常由4部分组成,服务器ip、数据库名称、连接用户名、连接密码(通常还包括JDBC的驱动包名,这个无需修改,除非替换了jar包)


2>  再有就是Tomcat中conf子目录中的server.xml配置文件,可以修改tomcat服务的端口号

3>  可以用客户端浏览器打开http://ip:8090/JDBC_Server/dbServlet?action=test链接,如果能看到test is okay字样,则代表服务端部署成功。

备注: 此中连接方式只适用于PB开发的独立的应用程序,基于SunlikeERP的二次开发程序不适用(因为PB程序需要捕获Sunlike ERP客户端登录所使用的客户端,而且Sunlike ERP也无法运行于互联网环境下,故此种连接方式对于此类应用无意义)。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值