- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
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/
它与常规连接字符串有何不同? 最佳答案 使用即时客户端进行连接与使用全栈客户端进行连接没有什么不同-所有连接字符串格式都相同。如果您将即时客户端安装在文件系统上的非标准位置,或者在连接数据库监听器时遇
Mono 真的很棒。我们的一些应用程序在 linux 中开箱即用,甚至无需重新编译二进制文件。但是,我很难配置 oracle instantclient 以将其与单声道一起使用。 我在 CentOS
Oracle 的说明指定设置 LD_LIBRARY_PATH。这使得我的应用程序依赖于随机用户的配置并且设置起来非常麻烦。 如何避免必须设置任何环境变量? OS/X 的相关说明:installing
我正在尝试使用 Excel(主要是 2003,以提高用户兼容性)连接到远程 Oracle 数据库。我想运行一个 .sql 脚本并将数据集返回到工作表。 我在 Windows 7 64 位机器上。我不知
我需要在 ubuntu 机器上安装 PDO_OCI,没有可以用 apt-get 安装的默认包。 有很多教程展示了如何做,但是当我按照它们进行操作时,我遇到了与编译相关的问题(配置、制作...) 这是我
我正在处理一个 Oracle DB,通过 InstantClient(版本 11)(https://github.com/mattn/go-oci8)从 go 连接。我需要能够加载此对象并浏览结果..
我正在尝试在 Windows 10 上的 ubuntu wsl bash 上安装 DBD::Oracle,1.74 或 1.76。 我在 64 位架构上,sqlplus64 正在运行,我可以连接到我的
我是一名优秀的程序员,十分优秀!