斯潘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别名,然后通常需要创建一个名为TnSnAdmin指向包含tnsnames.ora文件的文件夹。本文将在下面讨论这一点。如果你使用容易连接则不需要此环境变量。
请注意,每次更改路径或其他环境变量时,需要重新启动FME。外部更改不会影响任何正在运行的进程,或正在运行的进程的任何新创建的子进程。
如果FME或FME服务器找不到包含正确文件的/lib文件夹,它将无法识别Oracle客户机。直接设置ld_库路径可能会克服一些问题-一些客户报告这样做成功。关于Oracle完整客户端安装的说明:如果使用Oracle完整客户端安装,安装文件夹将包含a/lib子文件夹,并且Oracle_Home应足以设置为fme将使用Oracle_Home路径,找到并确认“lib”文件夹的存在,并将其应用到附加/lib的ld_library_路径。对于即时客户端,“lib”文件夹不存在,这就是创建lib文件夹并将文件复制到此文件夹的原因(步骤3-5)。对于FME服务器,应将这些环境变量添加到/fme server/server目录中的startengines.sh脚本中。
>ld_library_path=/export/home/sd/instantclient_10_2/lib:$ld_library_path>export ld_library_path
在某些平台上,与即时客户端一起分发的Oracle客户端库的名称包含FME不期望的版本信息。例如,在Solaris上,它被称为libclnsh.so.10.1。通过在即时客户机目录中创建一个与FME期望的符号链接来解决这个问题:伦敦证券交易所10.1所以
轻松连接字符串是连接到Oracle数据库的最简单方法。使用这种类型的连接字符串作为FME中的“数据集”。
用户/密码@//主机名:端口/sid
例如
斯科特/老虎@//阿米达拉:1521/orcl
使用此字符串不需要输入用户名或密码-这些都包含在轻松连接字符串中。
注:如果您收到有关访问NLS数据文件的投诉,您必须为您的区域设置nls_lang环境变量。采用类似的方法设置上述路径,定义一个名为nls_lang的新环境变量,其值为american_america.we8iso8859p1或japanese_japan.ja16euc,有时此变量在Windows注册表中定义,就Oracle而言,可能有一个无效的值。
如果您不喜欢使用上面的语法来指定您的连接,您可以选择创建tnsnames.ora文件来配置连接。tnsnames.ora可以驻留在系统的任何位置,但为了方便起见,可以将它放在安装即时客户端的同一目录中。此文本文件由一系列服务定义组成,其形式如下:
=(description=(address_list=(address=(protocol=tcp))(主机= )(port=<1521>)(connect_data=(service_name= ))
例如:
amidala=(description=(address_list=(address=(protocol=tcp)(host=amidala)(port=1521))(connect_data=(service_name=orcl)))
创建tnsnames.ora文件后,然后必须将tns_admin环境变量设置为tnsnames.ora的路径,但不包括tnsnames.ora文件名本身。例如,
tns_admin=c:\win32apps\oracle\instantclient_10_2
注:TNS管理员似乎不喜欢路径名中包含空格。如果你遇到问题,尝试将tnsnames.ora放在名称中没有空格的目录中。也,文本中的制表符可能有问题,因此最好从头开始创建,而不是复制和粘贴此示例条目。
注2:对于某些情况,用户报告,将tnsnames.ora文件保存在oracle\instantclient_xx_x\client\network\admin目录中,这样就不必定义tns_admin环境变量。
注意事项3:如果您同时需要32位和64位客户机,tns_admin环境变量可用于通知两个客户端一个tnsnames.ora文件。这允许您只为两个客户机维护一个文件。
如果“格式库”中的Oracle格式仍为灰色,请参见在这里了解更多故障排除提示。此外,我们建议使用第三方工具(如sqldeveloper或toad)来测试您的连接。如果您可以使用TNS连接通过这些工具访问Oracle数据库,那么FME也可以工作。从sqlplus进行测试是不够的。
如果您收到FMoCulink“在Linux上运行工作区时出错,看见在这里用于故障排除提示。
如果您使用的是TNS别名(tnsnames.ora),但连接时仍有问题,尝试使用上面所示的简单连接进行测试。尝试主机名和服务名,而不是tns别名值。
主机名:port/sid或主机名:port/servicename
?2019安全亚搏在线软件公司|合法的