• DataStage序列文章
  • 1 配置ODBC需要了解的基础知识
  • 1.1 说明
  • 2 Oracle 数据源配置
  • 2.1 基于DWire Protocol Driver配置ODBC
  • 2.1.1 配置.odbc.ini
  • 2.1.2 配置uvodbc.config
  • 2.1.3 测试ODBC数据源
  • 2.2 基于TNS配置ODBC
  • 2.2.1 什么时候使用TNS配置ODBC
  • 2.2.2 在dsenv文件中配置Oracle环境
  • 2.2.3 在TNS文件中配置ServerName和其它信息
  • 2.2.4 在.odbc.ini文件中配置数据源信息
  • 2.2.5 在uvodbc.config文件中配置数据源DSN
  • 2.2.6 可能遇到的错误
  • 3 MySql 数据源配置
  • 4 数据源的使用
  • 5 总结

1 配置ODBC需要了解的基础知识

配置ODBC的步骤:

  • 在.odbc.ini 文件里配置ODBC数据源信息
  • 在uvodbc.config文件里配置数据源名称信息(DSN)
  • 测试数据源

路径和文档信息:

名称 说明
DataStage默认安装驱动的路径 /opt/IBM/InformationServer/Server/branded_odbc
关于ODBC配置的文档 /opt/IBM/InformationServer/Server/branded_odbc/docs
哪里配置ODBC信息 $DSHOME/.odbc.ini
哪里配置ODBC data Source name(DSN) $DSHOME/uvodbc.config和每个DataStage项目下的uvodbc.config

1.1 说明

在$DSHOME/.odbc.ini内配置ODBC数据源信息,这里配置的信息包括驱动、服务器、用户、端口等信息,这个文件的名称和路径不是绝对的,可以在$DSHOME/dsenv 文件内的ODBCINI变量配置:

  ODBCINI=$DSHOME/.odbc.iniexport ODBCINI

dsenv 是非常重要的配置文件,修改该文件必须重启Enginer生效,里面的变量信息对所有项目有效,并且可以在开发项目时引用。
在uvodbc.config文件里配置ODBC数据源名称(DSN),这里配置的信息和上面的.odbc.ini不一样,.odbc.ini文件是详细的数据源配置信息,而这里是配置DSN,可以理解为.odbc.ini里配置了数据源详细信息,而uvodbc.config文件是给项目提供的引用接口定义。

<Oracle_30>
DBMSTYPE = ODBC

Oracle_30表示数据源名称,名称必须和.odbc.ini里面配置的一样。
DBMSTYPE指定该数据源的类型。

2 Oracle 数据源配置

Oracle 数据源配置方式有两种:

  • 基于DWire Protocol Driver配置ODBC:这种方式不需要Oracle客户端软件,也不需要配置Oracle环境变量
  • 基于TNS配置ODBC:这种方式需要配置Oracle环境变量并且必须有$ORACLE_HOME/network/admin/tnsnames.ora TNS配置文件

2.1 基于DWire Protocol Driver配置ODBC

2.1.1 配置.odbc.ini

在$DSHOME/.odbc.ini文件中找到官方提供的预配置ODBC数据源[Oracle Wire Protocol],复制该段内容,修改ODBC配置信息.

[Oracle_30]
Driver=/opt/IBM/InformationServer/Server/branded_odbc/lib/VMora24.so
Description=DWire Protocol Driver for server 30
ApplicationUsingThreads=1
ArraySize=60000
CachedCursorLimit=32
CachedDescLimit=0
CatalogIncludesSynonyms=1
CatalogOptions=0
DefaultLongDataBuffLen=1024
DescribeAtPrepare=0
EnableDescribeParam=0
EnableNcharSupport=0
EnableScrollableCursors=1
EnableStaticCursorsForLongData=0
EnableTimestampWithTimeZone=0
HostName=127.0.0.1
LocalTimeZoneOffset=
LockTimeOut=-1
LogonID=
Password=
PortNumber=1521
ProcedureRetResults=0
SID=testdb
UseCurrentSchema=1

这里Oracle_30表示数据源名称,HostName表示数据库所在的主机名,PortNumber表示数据库端口,SID表示数据库实例ID;将内容保存到.odbc.ini文件中。

2.1.2 配置uvodbc.config

编辑$DSHOME/uvodbc.config文件,增加上面在.odbc.ini文件中配置的ODBC数据源信息。

[ODBC DATA SOURCES]<localuv>
DBMSTYPE = UNIVERSE
network = TCP/IP
service = uvserver
host = 127.0.0.1<Oracle_30>
DBMSTYPE = ODBC

DNS名称Oracle_30必须和.odbc.init中的一致。**注意:该文件在两个地方存在,一个在$DSHOME目录下,一个在项目的目录下,当创建新项目时,DataStage拷贝该文件到新项目目录下;DS项目运行时首先查找项目下的uvodbc.config文件,如果未找到则查找$DSHOME/uvodbc.config文件,所以编辑完成后要将该文件拷贝到项目目录下;当然这种方式只在多个项目需要访问相同的ODBC的情况下介意这么做,如果每个项目所使用的ODBC不同,那么最好的方式就是编辑项目目录下的uvodbc.config文件了。

2.1.3 测试ODBC数据源

进入DSHOME目录使用dssh工具测试数据源。

$ cd $DSHOME
$ ./dsenv
$ ./dssh
DataStage Command Language 8.5 Licensed Materials - Property of IBM
(c) Copyright IBM Corp. 1997, 2009 All Rights Reserved.
DSEngine logged on: Friday, September 25, 2015 09:07

键入LOGTO 项目名称进入项目,注意项目名称区分大小写。

>LOGTO dstest

键入DS_CONNECT命令查看该项目所有的ODBC源配置,这里你可以看到项目使用的uvodbc.config文件和刚才配置的Oracle_30数据源了。

>DS_CONNECTData Source information from /opt/IBM/dsprojects/dstest/uvodbc.config:Data Source:       localuvDBMS Type:         UNIVERSENetwork Type:      TCP/IPHost System:       loopback   127.0.0.1Service Name:      uvserverData Source:       Oracle_30DBMS Type:         ODBC

键入DS_CONNECT Oracle_30测试数据源,注意数据源名称区分大小写。根据提示输入数据库用户名和密码。

>DS_CONNECT Oracle_30
Enter username for connecting to 'Oracle_30' DBMS [dsadm]: dsource
Enter password for dsource:

如果没有任何的报错,那说明数据源测试成功了,并且>提示变为了数据源名称>(Oracle_30>);你可以键入sql验证数据源。

Oracle_30> select * from tab;TNAME     TABTYPE   CLUSTERID
----------  ----------  ----------  DOBJ01       TABLE        NULL  1 row selected

2.2 基于TNS配置ODBC

2.2.1 什么时候使用TNS配置ODBC

  • 当GoldenGate服务器上存在Oracle服务端或客户端软件时
  • 当数据库地址端口经常发生变化时
  • 当多个应用程序和GoldenGate需要同时访问一个数据源时
  • 当GoldenGate所在的服务器不能直接连接数据库需要通过TNS代理连接时

这种方式需要配置Oracle环境变量,也必须有$ORACLE_HOME/network/admin/tnsnames.ora TNS配置文件,并且GoldenGate具有读取该文件的权限。

2.2.2 在dsenv文件中配置Oracle环境

$ cd $DSHOME
$ vi dsenvexport ORACLE_HOME=/opt/oracle/product/11.2.0
export LIBPATH=$LIBPATH:$ORACLE_HOME/lib:$ORACLE_HOME/rdbms/lib
export PATH=$PATH:$ORACLE_HOME/bin
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_SID=testdb
export TNS_ADMIN=/opt/oracle/product/11.2.0/network/admin

配置完成后必须重启Engine使配置文件生效。

$ uv -admin -stop
$ uv -admin -start

注意:在重启Engine后,你要确认上面的变量是否在你当前会话环境中生效,否则会影响后面的测试,如果未生效可能是你的配置错误或者之前的配置与之冲突导致变量失效,请尝试重新登录会话确定。

2.2.3 在TNS文件中配置ServerName和其它信息

$ vi /opt/oracle/product/11.2.0/network/admin/tnsnames.oraxmeta_111 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = testhost)(PORT = 1521))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = xmeta)))

2.2.4 在.odbc.ini文件中配置数据源信息

[Ora_remote_111]
Driver=/software/IBM/InformationServer/Server/branded_odbc/lib/VMora24.so
Description=DataDirect Oracle for remote server
ApplicationUsingThreads=1
ArraySize=60000
CachedCursorLimit=32
CachedDescLimit=0
CatalogIncludesSynonyms=1
CatalogOptions=0
DefaultLongDataBuffLen=1024
DescribeAtPrepare=0
EnableDescribeParam=0
EnableNcharSupport=0
EnableScrollableCursors=1
EnableStaticCursorsForLongData=0
EnableTimestampWithTimeZone=0
LocalTimeZoneOffset=
LockTimeOut=-1
LogonID=
Password=
ProcedureRetResults=0
ServerName=xmeta_111
UseCurrentSchema=1

这里不需要配置主机、端口信息,只需要配置ServerName为TNS文件中的serverName。

2.2.5 在uvodbc.config文件中配置数据源DSN

<Ora_remote_111>
DBMSTYPE = ODBC

这样就可以了,再通过2.1.3 中的那样测试ODBC数据源吧。

2.2.6 可能遇到的错误

>ds_connect Ora_remote_111
Enter username for connecting to 'Ora_remote_111' DBMS [dsadm]: scott
Enter password for scott:
SQLConnect error:   Status = -1   SQLState = 08001   Natcode = -1
[ODBC] [IBM(DataDirect OEM)][ODBC Oracle Wire Protocol driver][Oracle]TNS-12505: TNS:listener could not resolve SID given in connect descriptor
Network connection to Data Source 'Ora_remote_111' failed

服务端不能识辨sid,这类错误有两种原因:

  • TNS文件中的SID或者Service_name配置错误,请尝试在sqlplus下测试该配置的可连接性,或者使用Easy connect name method方式测试连接
  • .odbc.init中的数据源信息配置错误,请检查ServerName的值是否配置正确
>ds_connect Ora_remote_111
Enter username for connecting to 'Ora_remote_111' DBMS [dsadm]: scott
Enter password for scott:
SQLConnect error:   Status = -1   SQLState = S1000   Natcode = 0
[ODBC] [IBM(DataDirect OEM)][ODBC Oracle Wire Protocol driver]Cannot open TNS Names file.

这个错误请检查Oracle环境变量配置和文件权限分配,通常文件具有读的权限即可。

3 MySql 数据源配置

配置的方式都是差不多的,理解了工作原理,然后根据官方提供的预配置信息配置。
配置.odbc.ini

[mysql_99]
Driver=/opt/IBM/InformationServer/Server/branded_odbc/lib/VMmysql24.so
Description=DataDirect 6.0 MySQL Wire Protocol
AlternateServers=
ApplicationUsingThreads=1
ConnectionReset=0
ConnectionRetryCount=0
ConnectionRetryDelay=3
DefaultLongDataBuffLen=1024
EnableDescribeParam=0
EncryptionMethod=0
FailoverGranularity=0
FailoverMode=0
FailoverPreconnect=0
HostName=mySqlHost
Database=mysql
PortNumber=3306
HostNameInCertificate=
InteractiveClient=0
KeyPassword=
KeyStore=
KeyStorePassword=
LoadBalanceTimeout=0
LoadBalancing=0
LoginTimeout=15
LogonID=
Password=
MaxPoolSize=100
MinPoolSize=0
Pooling=0
QueryTimeout=0
ReportCodepageConversionErrors=0
TreatBinaryAsChar=0
TrustStore=
TrustStorePassword=
ValidateServerCertificate=1

这里HostName配置主机,Database mysql数据库,PortNumber 数据库端口。
配置uvodbc.config

<mysql_99>
DBMSTYPE = ODBC

测试数据源 注意8.5版本的DataStage驱动不支持MySQL Community Servers版本,如果测试的版本是MySQL Community Servers,则会得到下面的错误信息。

>ds_connect mysql_99
Enter username for connecting to 'mysql_99' DBMS [dsadm]: root
Enter password for root:
SQLConnect error:   Status = -1   SQLState = S1000   Natcode = 0
[ODBC] [IBM(DataDirect OEM)][ODBC MySQL Wire Protocol driver]Connections to MySQL Community Servers are not supported.  Please contact MySQL to obtain a MySQL Enterprise or Commercial version.

4 数据源的使用

当在服务器端配置好ODBC数据源后,便可以任何连接到该服务端的客户端中使用,这有利于管理,因为不需要在客户端中做任何的操作,并且服务端的更改对于客户端来说是透明的。

在Data source中输入服务端配置的ODBC数据源名称;
在Username和Password中输入数据库用户名和密码;
单击“测试”按钮测试数据源连接,然后再进行其它开发。

5 总结

  在本文中介绍了DataStage ODBC的安装路径、官方帮助文档、需要配置的文件以及配置方法和注意事项;.odbc.ini是数据源的核心文件,改文件的路径可以在dsenv配置文件中的ODBCINI变量中配置,该文件配置数据源连接的详细信息,如主机、数据库名、端口等信息。uvodbc.config文件配置数据源DSN信息,里面配置的DSN name必须和.odbc.ini的名称相同,该文件存在于项目目录下和$DSHOME目录下,默认项目首先查找和使用项目目录下的uvodbc.config文件,如果未找到则使用$DSHOME目录下uvodbc.config文件,所以使用时注意理解它们的作用和使用范围。通常配置完后建议在服务端中进行测试,然后再在客户端中开发使用,这样可以减少一些未知的错误问题。

--The end(2015-09-28)

DataStage 配置ODBC相关推荐

  1. datastage odbc mysql_DataStage 三、配置ODBC

    DataStage序列文章 1 配置ODBC需要了解的基础知识 配置ODBC的步骤: 在.odbc.ini 文件里配置ODBC数据源信息 在uvodbc.config文件里配置数据源名称信息(DSN) ...

  2. 配置ODBC数据源——找不到SA账户的解决

    SQL Server的总结还没有做完,但剩下的我想慢慢来了.今天开始打算进行学生信息管理系统的实战.不知道就是想实战了,不动手学习不踏实.打开刚从师父那儿拿到的学生信息管理系统,有点庞大,此时我的胸腔 ...

  3. centos odbc mysql_Centos下安装并配置ODBC连接MySQL 【转】

    找到一篇英文的关于Linux下ODBC的安装和配置,在此根据自己的需要截取部分记录一下. 安装并配置ODBC ODBC连接器是一个数据库抽象层,它可以让Asterisk与广泛的数据库进行通信,而无需开 ...

  4. jdbc odbc java mysql数据库连接_Java数据库连接之配置ODBC数据源

    java使用JDBC-ODBC桥接连接SQLServer数据库需要配置ODBC数据源,配置步骤如下: 1.进入控制面板,找到管理工具 2.看到ODBC数据源,有64位和32位的,如果你的数据库是64位 ...

  5. 怎样配置mysql数据源_mysql怎样配置ODBC数据源

    选中 sqlserver 选择默认连接的数据库 7.配置完成,可以测试连接 扩展资料: spring中配置数据源的几种常见方式: 工具/原料 事先配置相应的环境mysql(mysql安装程序)mysq ...

  6. spss连接mysql_spssstatistics19.0配置odbc连接远程oracle数据库

    本文档讲的是spss statistics 19.0如何配置odbc连接本地oracle数据库,步骤如下: 1.开启远程oracle数据库服务,开启以下两个即可 2.在本地客户端中,安装好oracle ...

  7. 【笔记】LR配置ODBC连接数据库进行参数化(mysql )未完待续

    很多时候我们需要大量的参数数据,但是光光靠手填写是非常麻烦的,既然被测对象的数据都在数据库,那么我们直接读取数据库回来就轻松简便很多. data  wizard 提供了一个从ODBC的连接获得数据转化 ...

  8. 错误1919配置ODBC数据源时发生错误Visio database samples,ODBC错误6:部件在注册

    错误1919配置ODBC数据源时发生错误Visio database samples,ODBC错误6:部件在注册...后面一长串..修复好了,也忘记具体后面写的什么了.直接说解决办法: 参考https ...

  9. Adaptive Server Anywhere 数据库配置ODBC数据源

    单位有个应用程序使用Sybase公司的数据库Adaptive Server Anywhere. 该程序原先是在XP系统中安装的,由于已找不到原安装光盘,只有从旧电脑拷贝安装后的文件,无法直接打开.需要 ...

最新文章

  1. 在 Mac 安装Docker
  2. 2014年acm亚洲区域赛·鞍山站
  3. java array iterator_java数组遍历——iterator和for方法
  4. Python可变与不可变类型及垃圾回收机制
  5. Django-视图层
  6. 学位论文检测系统的说明与修改
  7. mini2440_x35 ubuntu下使用dnw进行传送文件
  8. [转载]WSDL 教程
  9. SPOJ QTree【树链剖分】
  10. AutoCAD Civil 3D 2012正式发布
  11. Linux实训项目——第八章:配置网络接口及远程管理
  12. ArcGIS桌面构建三维地质体模型
  13. c语言设计程序计算水仙花数,C语言水仙花数算法
  14. Tensorflow Keras中的masking与padding的学习笔记
  15. 和孩子读书学习的一点心得
  16. 怎样用excel剔除异常数据_excel如何去除异常值?(excel表格数据异常丢失)
  17. 英文会议论文出版地信息汇总
  18. css与背景相关的属性有哪些,css的背景background的相关属性
  19. 用Python ttkbootstrap 带你制作账户注册信息界面
  20. CAD中用lisp程序实现批量偏移_求一个cad lisp 双向偏移的代码

热门文章

  1. 2020 搞个 Mac 玩玩
  2. 华为手表GT3个个手机支持功能列表
  3. 如何把数百个列数不定但格式相同的 Excel 汇总合计
  4. 南京 超级计算机,这周武汉南京合肥杭州都要下雪?超级计算机:还有变数
  5. Mac上免费epub阅读器推荐
  6. Oracle数据库创建索引
  7. python word 表格 框线_用python解析word文件(段落篇(paragraph) 表格篇(table) 样式篇(style))...
  8. oracle恢复已经删除的数据
  9. C++编写Config类ROS动态参数总结
  10. 福利,提升技术网站。