上篇提到过透明网关的事,那次是比较简单的环境,网关程序和SQL SERVER在同一台数据库上,一次搞定,没有任何问题。
今天采用结算支付SQL SERVER数据库服务器做为跳板机来试验透明网关,数据源为监督所SQL SERVER数据库,要求把上面的部分符合要求的数据导到ORACLE大集中数据库服务器上,由于该监督所的机器配置极烂,抓个屏都要CPU资源接近100%(汗...),因此打算使用同一网段的性能强劲的win服务器作为跳板机,由于7月末曾经在结算支付数据库上安装测试过透明网关,这次理所当然的选择了它。
跳板机上的监听器、初始化参数文件配置OK,大集中库上的TNS以及DB LINK配置OK,且TNSPING通跳板机,但是死活出不来查询结果,一直报一个同样的错:模块加载出错,ODBC DRIVER 没有安装。
果然做件事不是那么容易就一次成功的,有句话叫什么来着:天将降大任于斯人也,必先苦其心志,劳其经骨,饿其体肤...话未毕,引来板砖无数,我躲 -_+
首先已确认了在大集中库上能TNSPING通跳板机监听器,说明TNS配置正确,DB_LINK也无问题。
再查跳板机和监督所机器的PATH变量是否包括了驱动所在的路径,确认无误。
再查跳板机的监听器配置及init.ora文件的属性设置,好象都正确啊,靠,到底错哪了!?
想了10分钟,想不出结果,切换网络到外网,咱弄不来怕什么,google上那么多高手给俺顶着呢(台下嘘声一片)。搜了一把错误信息,竟连到microsoft的官网。一直都觉得他给的信息没有多大帮助,不过看了两眼之后,还看出了点门道,隐约好象想起了什么。
抓屏到跳板机,打开很熟悉的,但是又很久没用的SQL SERVER CONSOLE,设置了client network configuration utility,先通过查询分析器以client的身份登录监督所服务器,OK没问题。再故意打错连接字符串登录,哦哦哦!这个错误何其相似!难不成init.ora里设置的server.db_name,其中的server段指的是在此处设置的client的连接字符名?替换该内容之后,连接之。Oh Yeah~~~~成功了!
貌似ORACLE文档里当时好象不是这么写的...改天翻了看看验证下,不过有时ORACLE就是这样,不是他自家的产品,解释的语句本就少的可怜,还常常说的很晦涩。
总之,又学到了一点,嘿嘿。今天打了不少字了,各位看官将就着看看吧~话说我也很久没来更新了,可能是最近学习忙吧。
目指RHCE,过年前一定要拿下!
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/266799/viewspace-980919/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/266799/viewspace-980919/