问题标签 [tnsnames]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9260 浏览

c# - 如何在使用托管 ODP.NET 时从 C# 查询 LDAP 以解析 Oracle TNS 主机名?

继我之前的问题之后,我在 Oracle 论坛的帮助下设法回答了自己,我现在有另一个问题,该问题是上一个问题的后续问题(提供背景)。

我希望直接从我的 C# 代码中查询 LDAP,以执行 Oracle TNS 主机名的 LDAP 查找,以获取连接字符串。这通常存储在tnsnames.ora中,我的组织使用 LDAP(通过ldap.ora)从使用 Active Directory 的 LDAP 服务器解析主机名。

但是,我在我的 C# 应用程序中使用ODP.NET、托管驱动程序 Beta ( Oracle.ManagedDataAccess.dll ),正如我之前提到的Oracle 论坛回复所指向的发行说明中提到的那样,它不支持 LDAP 。这就是为什么我希望直接从 C# 查询 LDAP。

我在这里找到了一种使用DirectoryEntryand的方法DirectorySearcher,但我不知道将什么作为参数放入DirectorySearcher. 我可以访问以下格式的ldap.ora :

# LDAP.ORA 配置
# 由 Oracle 配置工具生成。
DEFAULT_ADMIN_CONTEXT = "dc=xx,dc=mycompany,dc=com"
DIRECTORY_SERVERS = (ldap_server1.mycompany.com:389:636,ldap_server2.mycompany.com:389:636, ...) DIRECTORY_SERVER_TYPE = OID

但是,如何将其映射到在我的 C# 代码中设置 LDAP 查询?

0 投票
0 回答
3783 浏览

database - oracle 11g r2 安装错误 - ORA-00119: 系统参数 LOCAL_LISTENER 的指定无效

在我的 64 位机器上安装 Oracle 11g R2 数据库服务器后,我不断收到此错误

启动失败:ORA-00119:系统参数 LOCAL_LISTENER 的指定无效

ORA-00132: 语法错误或未解析的网络名称“LISTENER_ORLL”,请帮助。

我什至无法修改 spfile,因为我无法连接到实例;数据库尚未启动,因此无法从 spfile 创建 pfile。

tnsnames.ora 条目

listener.ora 条目

0 投票
1 回答
4053 浏览

oracle - 如何在同一台机器上并排安装 ODP.NET 2.111 和 ODP.NET 4.112,同时都指向同一个数据库服务器

问题是如何在同一台机器上并排安装 ODP.NET 2.111 和 ODP.NET 4.112,同时使用 tnsnames.ora 指向同一个数据库服务器

我需要支持基于 Oracle 11.1.0 的遗留系统。系统使用 ODP.NET 2.111 连接到 oracle。有两个客户端安装在:

C:\oracle\product\11.1.0\client_1

C:\oracle\product\11.1.0\client_2

两者的 tnsnames.ora 是这样的:

系统使用上述设置启动并运行。我需要开发一个基于 EntityFramework 的新系统,这需要我使用更新版本的 Oracle.DataAccess.Dll (4.112)。

我想知道如何在不损害旧系统功能的情况下安装新客户端,以便两者可以并行工作:

注意:我确实尝试在以前的客户端上安装新的 ODP.NET,并且能够使用以下连接字符串连接到数据库:

DATA SOURCE=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=zzzzz1)(PORT=zzzzz2)))(CONNECT_DATA=(SERVICE_NAME=zzz3_SERVICE)));用户ID=\"zzzz4\";密码=\"zzzz5\";

那是不可取的,因为 1- 它破坏了旧系统,因为由于 ODP.NET 中的升级,它不再可以连接到 Oracle 2- 连接字符串看起来很奇怪

我将不胜感激任何帮助,

谢谢,艾丁

0 投票
0 回答
1554 浏览

c# - Oracle TNS 协议适配器错误

我有一个远程 Oracle 11G 服务器,可以通过 SQL Plus 和 Visual Studio 的服务器资源管理器连接到该服务器。但是,当我在 C# 代码中使用相同的连接字符串时,我得到 ORA-12560: TNS:protocol adapter error。

我的连接字符串看起来像这样(已经在尝试完成的扩展版本):

我最初尝试使用主机名而不是 IP 进行连接的结果是:

使用IP,地址我得到协议适配器错误

我正在使用 11g 客户端安装目录中的 Oracle.DataAccess 版本 2.112.1.0。

服务器资源管理器的连接方式与代码内部的连接方式有什么不同吗?

0 投票
2 回答
511 浏览

c# - 尝试在 C# 中不使用 tnsname 进行连接时出现 TNS 监听器错误

我正在尝试连接到 Oracle DB 而不必使用 TNS 名称,但它一直给出此错误:{“ORA-12504: TNS:listener is not given the SERVICE_NAME in CONNECT_DATA”}

这是“TNS 名称”文件中的内容:

0 投票
2 回答
7809 浏览

perl - DBI 上的 ORA-12154 错误->在 Solaris 10 中使用 Oracle Instant Client 连接到 Oracle 数据库

我已经为这个问题拉了两天的头发:

我正在尝试获取一个 perl 脚本来与 Oracle 数据库交互。我有一个新服务器,我想在上面部署我的应用程序。该脚本以前有效。

这是我到目前为止所做的:

将我的 tnsnames.ora 文件放在 Instantclient/network/admin 中:

我的 Perl 脚本如下所示:

此脚本产生以下输出:

我的 tnsnames.ora 文件包含以下条目:

这个 tnsnames.ora 文件是从一台正常工作的机器上复制的,所以我相信它可以工作。

奇怪的是,我可以在不使用 tnsnames.ora 文件的情况下连接到代码,但是当我尝试使用它时,它会中断。

有什么建议么?

0 投票
1 回答
1862 浏览

php - 如何在 Linux 中为 PHP 设置环境变量?

我正在使用 Oracle 数据库实现 MediaWiki,因此我需要将 TNS_ADMIN 变量添加到我的 PHP 启动环境中。

Q1: 如何将 TNS_ADMIN 变量添加到 PHP 启动环境?

Q2:是否有特定的文件需要编辑以添加环境变量?如果是这样,我在哪里可以在 Linux 上找到它?

0 投票
2 回答
7377 浏览

oracle - 使用 Oracle Instant Client 时出现 ORA-12154 错误

我在尝试使用 Windows 7 32 位上的 Oracle Instant 客户端设置在 ODBC DSN 上进行测试连接时遇到此错误。我让它在另一台装有 Vista 32 位的机器上工作。

信息:
1. 目录结构为:c:\oracle\instantclient_11_2。Instantclient_11_2 目录中的基本客户端和即时客户端文件,就像在工作机器上一样。
2. 系统路径中的 c:\oracle 和 c:\oracle\instantclient_11_2
3. 将 TNS_ADMIN 添加到系统路径并指向 c:\oracle
4. tnsnames.ora 从工作机器复制到 c:\oracle
5。 sqlnet.ora 位于 c:\oracle 中。工作副本只有“TCP.CONNECT_TIMEOUT=5”作为条目,但我尝试添加: NAMES.DIRECTORY_PATH= (LDAP, TNSNAMES, HOSTNAME) 当它不工作时
6. 我可以远程登录到 oracle 服务器和 1521 端口(在 tnsnames.ora 中定义)。

还有什么要检查的吗?

0 投票
1 回答
5111 浏览

oracle - Oracle TNS-12505 错误

我正在使用 Oracle,我必须做的是将现有数据库导出到新安装。

我已经安装了新的 oracle 客户端 8.1(以前是 8.0),我已经成功导入了数据库的所有实例,(用户,角色,一切)。

基本上它是服务器,它从其他单个客户端共享数据。我现在面临的一个问题是,任何 XYZ 客户端都无法更改其登录凭据。我收到两种不同类型的错误。下面我会提到:

  1. TNS-12505: TNS:listener 无法解析连接描述符中给出的 SID
  2. TNS-12500:TNS:侦听器无法启动专用服务器进程 TNS-12560:TNS:协议适配器错误 TNS-00530:协议适配器错误

通过谷歌搜索指定的错误,我几乎尝试了所有选项。

我在服务器安装和测试时配置了 TNSNAMES.ora 和 LISTENER.ora,它们运行良好。

但问题是当我使用“Net8 Assitant”配置 TNSNAMES 后通过客户端连接时,它显示以下错误。

我将尝试附加配置文件数据: TNSNAMES.ora @ Server

LISTENER.ora @ 服务器

最后是 TNSNAMES.ora @Client

从上面的设置中,我在客户端得到以下错误:

TNS-12505: TNS:listener 无法解析连接描述符中给出的 SID

请提出任何解决方案,我将非常感激。

0 投票
8 回答
127647 浏览

c# - 为什么 Oracle.ManagedDataAccess 不工作而 Oracle.DataAccess 工作?

我正在开发一个非常简单的应用程序,我打算用它来解决我在几台机器上遇到的问题,但在我还没走到那一步之前,我遇到了一些问题,包括 cpu 架构差异和 Oracle 数据库库。

我在目录中列出了一个数据库tnsnames.ora服务器C:\oracle\11g\network\admin。如果我 tnsping 此服务器,我会得到所需的响应。如果我使用 Oracle.DataAccess.Client 编写我的 C# 程序以使用以下代码连接到该服务器,它就可以工作。

但是 Oracle.DataAccess 依赖于它运行的系统的体系结构。我看到还有另一个库 Oracle.ManagedDataAccess 是架构独立的。当我使用这个库时,它不再能够连接到服务器。一个ORA-12545: Network Transport: Unable to resolve connect hostname被抛出。

为什么会这样?这两个库之间有什么不同,因为根据我迄今为止阅读的内容,这应该不是问题。

额外的信息:

  • %ORACLE_HOME% 和 %TNS_ADMIN% 未定义(请记住 tnsping 和 Oracle.DataAccess 有效)
  • PATH 已C:\oracle\11g\BIN定义。
  • 我的机器只有一个tnsnames.ora文件

如果我将 tnsnames.ora 移动到与我的 .exe 文件相同的位置,它就可以工作。为什么Oracle.DataAccess 可以在C:\oracle\11g\network\admin目录中找到tnsnames.ora 而Oracle.ManagedAccess 找不到?