span8
span4
我可以连接到Oracle使用FME和Oracle即时客户端?
是的 - 但是请注意,你需要在同一个平台的水平 - 即如果你有32位FME,那么你需要一个32位的Oracle客户端。如果你有64位FME,那么你需要一个64位的Oracle客户端。这是您的Oracle数据库上运行什么平台,无论并使用一个64位的OS时是特别重要的。在平台问题的更多详情,请在这里。
使用32位的Oracle具有64位FME可以产生在工作区FME日志以下错误:
无法打开企业级地理数据库。从ArcObjects的错误编号是:“-2147155644”。从ArcObjects的错误消息是:{无法连接到数据库,因为数据库客户端软件加载失败。确保数据库客户端软件安装和配置正确。}
另外,如果您打算通过tnsnames.ora文件使用TNS别名,那么通常需要创建一个名为一个环境变量TNS U管理它指向包含tnsnames.ora文件的文件夹。这是本文在下面讨论。如果您使用轻松连接字符串那么这个环境变量将不再需要。
请注意,每次更改路径或其他环境变量时,都需要重新启动FME。外部更改不会影响任何正在运行的进程或正在运行的进程的任何新创建的子进程。
如果FME或FME Server不会用正确的文件查找/ lib文件夹不会承认的Oracle客户端。直接设置LD_LIBRARY_PATH可以克服一些问题 - 一些客户已经成功报道做这种方式。在Oracle完整的客户端安装的说明:如果使用的是Oracle完整的客户端安装的安装文件夹将包含一个/ lib子文件夹和ORACLE_HOME应足以将其设置为FME将使用ORACLE_HOME路径,找到并确认了“LIB”的存在 folder and apply it to the LD_LIBRARY_PATH appending /lib to it.在Instant客户端的“LIB”文件夹不存在,所以这是用于创建lib文件夹和文件复制到该文件夹(步骤3-5)的原因的情况。对于FME Server的这些环境变量应被添加到startEngines.sh脚本/ fmeserver /服务器目录中找到。
> LD_LIBRARY_PATH = /导出/家庭/ SD / instantclient_10_2 / lib目录下:$ {LD_LIBRARY_PATH}>出口LD_LIBRARY_PATH
对于某些平台,Oracle客户端库与即时客户端分发的名称包含版本信息FME并不期望。例如,在Solaris上它被称为像libclnsh.so.10.1。通过在instant client目录中创建指向FME期望的符号链接来解决此问题:利布朗茨10.1号公路libclntsh.so
Easy Connect连接字符串是连接到Oracle数据库的最简单方法。使用这种类型的连接字符串作为FME中的“数据集”。
用户/密码@//hostname:port/sid
例如
斯科特/老虎@//Amidala:1521/ORCL
使用此字符串不需要输入用户名或密码-这些都包含在“轻松连接”字符串中。
注:如果您收到有关访问NLS数据文件的投诉,则必须为您的语言环境设置NLS\U LANG环境变量。按照与设置上述路径类似的方法,定义一个名为NLS_LANG的新环境变量,其值为AMERICAN_AMERICA.WE8ISO8859P1或JAPANESE_JAPAN.JA16EUC。有时此变量是在Windows注册表中定义的,就Oracle而言,可能具有无效值。
如果您不想使用上面的语法来指定连接,可以选择创建tnsnames.ora文件来配置连接。tnsnames.ora可以位于系统的任何位置,但为了方便起见,它可以放在安装即时客户端的同一目录中。此文本文件由一系列服务定义组成,其格式如下:
=(描述=(地址列表=(地址=(协议=TCP)(主机= )(端口= <1521>))(CONNECT_DATA =(SERVICE_NAME= )))
例如:
AMIDALA=(描述=(地址列表=(地址=(协议=TCP)(主机=AMIDALA)(端口=1521)))(连接数据=(服务名称=ORCL)))
创建tnsnames.ora文件后,必须将TNS_ADMIN环境变量设置为tnsnames.ora的路径,但不包括tnsnames.ora文件名本身。例如,
tns_admin=c:\ win32apps\oracle\instantclient_10_2
注:TNS_ADMIN似乎不喜欢路径名中有空格。如果遇到问题,请尝试将tnsnames.ora放在名称中没有空格的目录中。此外,文本中的制表符也可能有问题,因此与其复制和粘贴此示例条目,不如从头创建一个。
注2:对于某些情况,用户报告说,在oracle\instantclient_xx_x\client\network\admin目录中使用tnsnames.ora文件可以避免定义TNS_admin环境变量。
注3:如果对32位和64位客户机都有要求,可以使用TNS_ADMIN环境变量将一个tnsnames.ora文件通知两个客户机。这允许您只为两个客户机维护一个文件。
如果您的格式库中的Oracle格式仍为灰色,请参见在这里了解更多故障排除提示。此外,我们建议使用第三方工具(如SQLDeveloper或Toad)来测试您的连接。如果您可以使用TNS连接通过这些工具访问Oracle数据库,那么FME也应该可以工作。从SQLPlus进行测试是不够的。
如果你收到菲莫西林.so“在Linux上运行工作区时出错,请参阅在这里有关疑难解答的提示。
如果您使用的是tns别名(tnsnames.ora),但仍有连接问题,请尝试使用上面所示的简单连接进行测试。请尝试主机名和服务名,而不是tns alias值。
主机名:port/sid或主机名:port/servicename
©2019安全亚搏在线软件公司|法律