gpt4 book ai didi

linux - 如何为单声道配置 oracle instantclient?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:32:12 26 4
gpt4 key购买 nike

Mono 真的很棒。我们的一些应用程序在 linux 中开箱即用,甚至无需重新编译二进制文件。但是,我很难配置 oracle instantclient 以将其与单声道一起使用。

我在 CentOS VM 上安装了 instantclient(通过安装 instantclient rpm)但是我没有在任何地方找到 TNSNAMES.ORA。

我搜索了 oracle,发现以下路径包含 oracle 库。

[root@bagvapp rupert]# ll /usr/lib/oracle/11.2/client/lib/
total 143280
-rw-r--r-- 1 root root 7456 Aug 14 2009 cobsqlintf.o
-rw-r--r-- 1 root root 342 Aug 14 2009 glogin.sql
lrwxrwxrwx 1 root root 17 Mar 9 06:52 libclntsh.so -> libclntsh.so.11.1
-rw-r--r-- 1 root root 40088477 Aug 14 2009 libclntsh.so.11.1
-rw-r--r-- 1 root root 6986848 Aug 14 2009 libnnz11.so
lrwxrwxrwx 1 root root 15 Mar 9 06:52 libocci.so -> libocci.so.11.1
-rw-r--r-- 1 root root 1879549 Aug 14 2009 libocci.so.11.1
-rw-r--r-- 1 root root 89377610 Aug 14 2009 libociei.so
-rw-r--r-- 1 root root 152304 Aug 14 2009 libocijdbc11.so
-rw-r--r-- 1 root root 1501651 Aug 14 2009 libsqlplusic.so
-rw-r--r-- 1 root root 1218075 Aug 14 2009 libsqlplus.so
-rw-r--r-- 1 root root 777979 Aug 14 2009 libsqora.so.11.1
-rw-r--r-- 1 root root 1996228 Aug 14 2009 ojdbc5.jar
-rw-r--r-- 1 root root 2111220 Aug 14 2009 ojdbc6.jar
-rw-r--r-- 1 root root 298388 Aug 14 2009 ottclasses.zip
drwxr-xr-x 3 root root 4096 Mar 9 06:52 precomp
-rw-r--r-- 1 root root 37807 Aug 14 2009 xstreams.jar

没有可用的 TNSPING,没有 TNSNAMES.ORA,现在如何配置单声道以将其用作 oracle 客户端?以及如何在 app.config 连接字符串部分指定 oracle 数据库?

虽然 mono 是一个强大的框架,但似乎它有像 linux 一样的问题,所有文档仅在邮件列表中可用,官方网站上可用的任何内容对于普通用户来说要么已过时,要么不清楚。

希望事情会很快改变,Mono 将成为 linux 的编程框架。

最佳答案

使用 oracle easy connect 命名方法或在正确的位置自己创建一个 tnsnames.ora(查看即时客户端文档以了解位置的搜索顺序)。tnsping 不是即时客户端(或任何附加程序包)的一部分。

来自即时客户端faq如何确保我的“tnsnames.ora”文件在 Instant Client 中被使用?始终将 TNS_ADMIN 环境变量或注册表设置设置为 tnsnames.ora 文件的完整路径。这种做法将确保您在使用 Instant Client 运行时为您的应用程序使用适当的 tnsnames.ora。

如何在 Instant Client 模式下指定连接字符串?所有不需要使用 ORACLE_HOME 或 TNS_ADMIN(以定位 tnsnames.ora 或 sqlnet.ora 等配置文件)的 Oracle 网络命名方法都在 Instant Client 模式下工作。特别是,可以使用以下格式指定连接字符串:

以下形式的 SQL 连接 URL 字符串:

//主机:[端口][/服务名称]

比如:

//dbase-server-5:4321/订单

作为 Oracle Net 关键字值对。例如:

"(描述=(地址=(协议(protocol)=tcp) (主机=dlsun242)(端口=5521))(CONNECT_DATA=(SERVICE_NAME=bjava21)))”

如果设置了 TNS_ADMIN 环境变量,则需要 TNS_ADMIN 来定位配置文件的命名方法将继续有效。

如果没有设置TNS_ADMIN环境变量,使用了inst1等TNSNAMES条目,那么必须设置ORACLE_HOME变量,配置文件应该在$ORACLE_HOME/network/admin目录。

请注意,本例中的 ORACLE_HOME 变量仅用于定位 Oracle Net 配置文件,客户端代码库(OCI、NLS 等)的其他组件均未使用 ORACLE_HOME 的值。

不支持 bequeath 适配器或空连接字符串。但是,使用空连接字符串的另一种方法是将 UNIX 上的 TWO_TASK 环境变量或 Windows 上的 LOCAL 变量设置为 tnsnames.ora 条目或 Oracle Net 关键字值对。如果 TWO_TASK 或 LOCAL 设置为 tnsnames.ora 条目,则 tnsnames.ora 文件必须能够通过 TNS_ADMIN 或 ORACLE_HOME 设置加载。

关于linux - 如何为单声道配置 oracle instantclient?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2422316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com