那该死的DATALINK

 

一切源于要命的接口,上下传总是出现问题,单据下传不了,于是我说弄个监控查询的界面吧,保军哥说好吧,那么就开始了和DATALINK的纠缠。

 

第一次试验~

傻傻的我,晚上默默的改DATALINK,弱弱的以为和oracle的datalink一样,折腾一晚上才想起,是不是要装sql客户端啊???

保军哥说,数据处理完了,该走了。好吧,转钟了。。。回家睡觉了。

 

第二次的透明网关

要装sql客户端吗???要装sql客户端吗!!!不想装sql客户端啊啊啊啊啊~~

漆黑黑的夜里,默默的百度,忽然发现透明网关这个东东~~

Soga!!!!

立马把自个的小本本装了按照网上的步骤设置。。。。

1. 安装oracle 的transparentgateway 透明网关。

安装Oracle选择自定义安装,然后再选择安装透明网关,再进去选择安装FOR SQLServer的组件。安装完后,注意在oracle 安装目录下多了一个目录C:\oracle\ora92\tg4msql\

2. 找到C:\oracle\ora92\tg4msql\admin目录下的inittg4msql.ora文件,修改如下

HS_FDS_CONNECT_INFO=[192.168.1.123].ERP_WMS

#默认安装时是[192.168.1.123]/ERP_WMS 需要把“/”改成“.”,切记切记

HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

说明 可以通过Oracle工具中的Migration WorkBench 进行配置。(过程中需要配置ODBC,这部分没做过不知道,我是复制粘贴大法!!)

3. 建立监听,修改C:\oracle\ora92\network\admin目录下的listener.ora文件,

SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = C:\oracle\ora92)
      (PROGRAM = extproc)
    )
    (SID_DESC =
      (GLOBAL_DBNAME = ORA9)
      (ORACLE_HOME = C:\oracle\ora92)
      (SID_NAME = ORA9)
    )

#红色部分是增加进去的(PROGRAM = tg4msql) 传说中应该和inittg4msql.ora,蓝色部分一致!!!
   (SID_DESC =
     (GLOBAL_DBNAME = tg4msql)
     (SID_NAME =upzone)
     (ORACLE_HOME = C:\oracle\ora92)
     (PROGRAM = tg4msql)
   )

        )

4. 修改TNS(tnsnames.ora)

     #红色部分是增加进去的(SID = upzone)传说中应该和listener.ora文件的SID_NAME一致!!!端口依旧要继承1521

upzone =
    (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST =BizTalk2006)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SID = upzone)
    )
    (HS = OK)
  )

5. 重启监听服务,一定要启动哦~~~!

OracleListener

6.创建DBLink

createpublic database link UPZONE.US.ORACLE.COM
        connect to SA identified byupzone      --User Id & Password for MS-SQL
        using 'upzone';

 

select * from [email protected];

此时会报错,下面分解>>>>>>>>>>>>>>>>>>>>>>>>>>

 

第三次sql的新建用户啊~!

那该死的DATALINK_第1张图片

这个坑爹的报错,郁闷了我一整天。各种度娘………….总体答案就是说密码有问题,有人说,sql的密码要大写,查询ora-02063 ORA-02063:紧接着(源于);完全不明白啥意思~~

还有人说,sql数据库的密码必须大写,不然连不上,这是啥毛病啊??微软如此坑人?

反复比较,配置错啦?~眼睛斗斗看花了,不是啊~啥情况?

琢磨着是不是要做SqlServer数据权限?网上还有说,读取sql数据库的时候sql默认是master数据库,弄个master的表查下数据 ,哈~还真是!想着在sql数据库上建立一个新用户。默认数据库设成接口库,成了~哦耶!

 

第四次的同义词

关联oracle表查数据又遇到问题了,select * 能有数据,指定字段时候就不行,奇怪~

又是度娘,如果度娘能给力,天天查度娘还真不错,她说字段要加引号,于是我加了“”””双引号,又成了。很开心的扔到程序里,各种报错,内心又跌到谷底。保军说加个同义词试试呗,保军发话了,那就加呗。

不说了,直接上图吧

那该死的DATALINK_第2张图片


         语句

         --Create the synonym

createorreplacesynonym SYN_DJ

  forDJ@HFERP;

   

    整完了,还是要Select "djbh" FROM syn_dj sjc,这不是坑我么,好吧我还是用视图吧!

 

第五次,还是用视图吧~~

不说了,直接语句吧:

createorreplaceview viw_dj_bak as

Select "djbh" djbh,

Trim("dwbh")  dwbh,

"ZT"  ZT ,

"sf_gxht"  sf_gxht,

"dckhcbj"  dckhcbj,

"jsje"  jsje,

"sf_rgsqph"  sf_rgsqph

 FROM DJ_bak@hferp;

 

这样我查询的时候就可以直接用字段了,很方便的说。

你可能感兴趣的:(技术支持)