为 Windows XP 安装 Oracle Drive 和 TNS?

为 Windows XP 安装 Oracle Drive 和 TNS?

我正在构建一个装有 Windows XP 和一些应用程序的盒子。一个应用程序需要连接到远程 Oracle 数据库。我已经从 Oracle 下载中安装了 OracleXEClient.exe。安装确实安装了“Oracle Provider for OLE DB”驱动程序。

我的问题是我仍然无法连接到远程 Oracle db。我所做的测试是使用 Oracle 提供程序 OLE DB 连接创建一个 UDL 文件。错误消息是:

---------------------------
Microsoft Data Link Error
---------------------------
Test connection failed because of an error in initializing provider. ORA-12154: 
TNS:could not resolve the connect identifier specified

我想我可能错过了盒子中的 TNSNAMEC.ora。我可以从另一个 Oracle 连接正常工作的盒子中找到此文件。我不确定我应该安装什么包(来自 Oracle),以便默认 TNSNAEMES.ora 将与相关文件和用于访问 TNS 文件的设置路径一起安装?

不确定我是否可以复制 TNSNAMES.ora 并手动将目录添加到环境 PATH?

答案1

Oracle XE 客户端没有 tnsnames.ora。

要使用 odbc 进行连接,请使用这一页

或者,正如 Gary 所说,c:>sqlplus /nolog

SQL> 连接用户/[电子邮件保护]:1521/xe 也应该可以工作。

答案2

如果您有 XE 客户端,则可以使用 sqlplus。这就是我开始测试连接的地方。尝试以下样式的连接

sqlplus user/[email protected]:1521/xe

替换用户 pwd,并输入运行 XE 数据库的 IP 地址。如果可行,请退一步并输入主机名而不是 IP 地址。如果可行,请尝试

tnsping dbname

我假设它找不到连接。但它会告诉您类似“用户参数文件:”的信息,其中 sqlnet.ora 文件位于以 network/admin 结尾的目录中。将 tnsnames.ora 文件放在该目录中(因为默认情况下它会在那里查找该文件)。

然后重试 tnsping(使用 tnsnames.ora 文件中给出的数据库标签)。如果此操作无效,您可能需要修改 tnsnames.ora 文件中的主机名或 IP 地址值。

如果 tnsping 可以找到它,那么你应该可以使用

sqlplus user/pwd@dbname

一旦它工作正常,就尝试使用 OLE DB

答案3

我不熟悉 OracleXEClient。

使用传统的 Oracle 胖客户端,您需要为 TNS_ADMIN 设置一个系统环境变量,该变量指向 tnsnames.ora 所在的文件夹。您可能需要注销/登录,以便该变量在您的环境中生效。

您还需要确保文件 sqlnet.ora 存在于同一文件夹中,并指定您正在使用 tnsnames。示例:

NAMES.DIRECTORY_PATH= (TNSNAMES,LDAP)

答案4

您的 Oracle Client 安装的 ORACLE_HOME 目录是什么?它可能是 C:\oracle\product\ 的子文件夹,尽管我不熟悉 XEClient 安装。在典型的 Oracle 10g 客户端安装中,主目录是 C:\oracle\product\10.2.0\client_1。假设此目录,则您的 TNSNAMES.ORA 文件位于 C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN。将您工作的 TNSNAMES.ORA 文件放入该目录中并再次测试。

TNS_ADMIN 在具有多个 oracle 主目录的安装中很有用。 它不是必需的。

相关内容