做的是国企项目,项目本身业务并不复杂,最复杂的却是服务器部署问题,对方给提供的服务器分内网、外网交换网,应用在交换网,数据库在内网,应用不能直接访问内网数据库,只能通过安全隔离网闸访问内网数据库,安全隔离网闸(相当于数据库代理)提供了一个驱动包,类似于oracle的jdbc驱动包。而且应用服务器必须使用weblogic。
重点来了,我们是厂商,有一天国企的一个负责人给我们这边开发人员打电话,说数据库隔离装置升级了,然后隔离装置厂商提供了一个oracle的代理驱动包SqlProxyCfg_Jdbc.jar。给了驱动加载的字符串,连接的url,ip以及端口。然后就没然后了,由于是第一次应对这样的事,然后就询问对方如何在weblogic是配置,对方技术人员也一无所知,只会开发此jar包以及如何通过隔离装置穿透。既然对方不知道,然后就自己百度谷歌,试了网上很多方法,始终报找不到驱动程序异常,这事耽搁下来了三天,在第四天想起这事,就拿着公司服务器上的weblogic折腾了一番终于配置成功,其实失败的原因是配置CLASSPAT的时候":"写成了";"符号 然后悲催人生就开始了,下面是配置细节。
1. 将驱动包SqlProxyCfg_Jdbc.jar存放到weblogic安装的lib目录,也就是你的域下,具体路径如下:
/weblogic_cs/Oracle/Middleware/user_projects/domains/base_domain/lib
2,配置CLASSPATH
/weblogic_cs/Oracle/Middleware/user_projects/domains/base_domain/bin 路径下找到startWebLogic.sh启动文件,
#cd 上述路径
#vi startWebLogic.sh
在CLASSPATH后添加驱动jar包路径,修改如下(注意”${DOMAIN_HOME}”路径,如没有配置该路径可将驱动jar包绝对路径添加到后面):
CLASSPATH="${SAVE_CLASSPATH}:${DOMAIN_HOME}/lib/SqlProxyCfg_Jdbc.jar"
注意CLASSPATH字符串中的":"来分割,而不是";" 我在配置之初就犯了次错导致配置数据源的时候一直找不到驱动包异常。
按esc键盘退出并:wq!保存
3,重启startWebLogic.sh
配置数据源
1,启动完成之后,登录weblogic控制台
然后点击左侧菜单 服务---》数据源---》新建一--》一般数据源
2,“名称”为“jndiisc”,“JNDI名称”为“jndiisc”,“数据库类型”选择“Oracle”,然后点击“下一步”:
3,“数据库驱动程序”选择倒数第四个选项,与下图一致:
4,此页面默认,点击“下一步”:
5,填写内容如下:
数据库名称:v_typt
主机名:172.28.15.234
端口:18600
数据库用户名:isc
密码:isc
然后点击下一步:
6. 修改内容如下:
驱动程序类名称:sgcc.nds.jdbc.driver.NdsDriver
URL:jdbc:nds://172.28.15.234:18600_typt?appname=app_typt
然后点击“测试配置”:
7. 测试配置成功后会显示“连接测试成功”,然后点击“完成”:
新建数据源成功,点击“jndiisc”:
8. 点击“锁定并编辑”,然后点击“目标”:
9. 勾选“AdminServer”,然后点击保存:
10. 保存后显示“设置更新成功”,然后点击左侧“激活更改”:
至此数据源配置成功,数据库隔离装置配置也成功啦