第8页
斯潘4
我可以使用FME和Oracle即时客户端连接到Oracle吗?
是的—但是请注意,您需要相同的平台级别—即,如果您有32位FME,那么您需要32位Oracle客户端。如果您有64位FME,那么您需要一个64位Oracle客户机。这与您的Oracle数据库在哪个平台上运行无关在使用64位操作系统时尤为重要。有关平台问题的更多详细信息,请参阅这里。
将32位Oracle与64位FME一起使用可能会在FME工作区日志中产生以下错误:
无法打开企业地理数据库。ArcObjects的错误号为:'-2147155644'。来自ArcObjects的错误消息是:{无法连接到数据库,因为无法加载数据库客户端软件。确保数据库客户端软件已正确安装和配置。}
另外,如果您计划通过tnsnames.ora公司文件,则通常需要创建一个名为TNS\U管理员指向包含tnsnames.ora公司文件。本文将在下面讨论这一点。如果你使用轻松连接字符串,则不需要此环境变量。
请注意,每次更改路径或其他环境变量时,都需要重新启动FME。外部更改不会影响任何正在运行的进程或正在运行的进程的任何新创建的子进程。
如果FME或FME服务器找不到包含正确文件的/lib文件夹,它将无法识别Oracle客户端。直接设置LD\u LIBRARY\u路径可能会克服一些问题—有些客户报告说这样做很成功。有关Oracle完全客户端安装的说明:如果使用Oracle完全客户端安装,安装文件夹将包含/lib子文件夹,并且Oracle\u HOME应足以设置为FME将使用Oracle\u HOME路径,找到并确认“lib”文件夹的存在,并将其应用于附加/lib的LD\u LIBRARY\u路径。对于即时客户端,“lib”文件夹不存在,因此创建lib文件夹并将文件复制到此文件夹(步骤3-5)。对于FME服务器,应将这些环境变量添加到星辰.sh在/fmeserver/Server目录中找到脚本。
>LD\u LIBRARY\u PATH=/export/home/sd/instantclient\u 10\u 2/lib:${LD\u LIBRARY\u PATH}>export LD\u LIBRARY\u PATH
在某些平台上,随即时客户机分发的Oracle客户机库的名称包含FME不期望的版本控制信息。例如,在Solaris上,它被称为libclnsh.so公司.10.1. 通过在instant client目录中创建指向FME所期望的内容的符号链接来修复此问题:ln-s公司libclntsh.so公司.10.1libclntsh.so公司
Easy Connect Connection String是连接Oracle数据库的最简单方法。使用此类型的连接字符串作为FME中的“DataSet”。
用户/密码@//主机名:端口/sid
例如
斯科特/老虎@//阿米达拉:1521/orcl
使用此字符串,无需输入用户名或密码-这些都包含在Easy Connect字符串中。
注:如果您收到有关访问NLS数据文件的投诉,则必须为您的语言环境设置NLS\ U LANG环境变量。按照与上面设置路径类似的方法,定义一个名为NLS\u LANG的新环境变量,其值为AMERICAN_美国.WE8ISO8859P1还是日本人_日本.JA16EUC有时,此变量是在Windows注册表中定义的,对于Oracle来说,它的值可能无效。
如果您不想使用上面的语法来指定连接,您可以选择创建tnsnames.ora公司文件来配置您的连接。tnsnames.ora公司可以驻留在系统上的任何位置,但为了方便起见,可以将其放置在安装即时客户端的同一目录中。此文本文件由一系列服务定义组成,其形式如下:
=(描述=(地址列表=(地址=(协议=TCP)(主机= )(端口=<1521>))(连接数据=(服务\u name= ))
例如:
阿米达拉=(描述=(地址\u列表=(地址=(协议=TCP)(主机=阿米达拉)(端口=1521)))(连接\u数据=(服务\u名称=ORCL)))
一旦你创建了tnsnames.ora公司文件,然后必须将TNS\u ADMIN环境变量设置为tnsnames.ora公司,但不包括tnsnames.ora公司文件名本身。例如,
TNS\u ADMIN=C:\win32apps\oracle\instantclient\u 10\u 2
注:似乎TNS\u ADMIN不喜欢路径名中有空格。如果遇到问题,试着tnsnames.ora公司在名称中没有空格的目录中。此外,文本中的制表符可能有问题,因此与其复制和粘贴此示例条目,不如从头创建一个。
注2:对于某些场景,用户报告tnsnames.ora公司oracle\instantclient\u xx\u x\client\network\admin目录中的文件,使它们不必定义TNS\u admin环境变量。
注3:如果您对32位和64位客户机都有要求,可以使用TNS\u ADMIN环境变量通知这两个客户机tnsnames.ora公司文件。这允许您为两个客户机只维护一个文件。
如果您的格式库中的Oracle格式仍为灰色,请参见在这里更多疑难解答提示。此外,我们建议使用第三方工具,如SQLDeveloper或Toad来测试您的连接。如果您可以使用TNS连接通过这些工具访问Oracle数据库,那么FME也应该可以工作。从SQLPlus进行测试是不够的。
如果你收到fmeocilink.so公司在Linux上运行工作区时出错,请参阅在这里故障排除提示。
如果您使用的是tns别名(tnsnames.ora公司)如果仍然存在连接问题,请尝试使用上面指出的简易连接进行测试。请尝试主机名和服务名,而不是tns alias值。
主机名:端口/sid或者主机名:端口/服务名
©2020安全亚搏在线软件公司|法律