6

我正在开发一个需要与“轻度记录”的旧版 Oracle 数据库交互的应用程序。要开始该过程,我想开始使用 ODBC 链接到 MS Access 数据库中创建该数据库的视图,这样我就可以弄清楚 DB 结构,但我不知道如何设置与 Oracle DB 的 ODBC 连接。

我已经能够使用主机和服务名称连接到并使用 SQL Developer 查看数据库;但是,我不知道如何设置 ODBC。我正在运行 Windows 7 并安装了 Oracle 11g、Oracle Express Edition、Instant Client 和 ODBC 扩展;但是在 ODBC 设置中,Oracle 希望我选择一个 TNS 服务名称,但是没有可以选择的,也没有地方可以指定主机。我试图在 tnsnames.ora 中设置一个 TNS;但我不确定我是否知道该文件的正确位置。

我真的认为这将是简单的部分;但是,它真的没有。

4

4 回答 4

2

导航到控制面板>管理工具>数据源 (ODBC)

选择系统 DSN选项卡,然后单击“添加”。接下来向下滚动驱动程序列表,直到找到Microsoft ODBC for Oracle

在此处输入图像描述

在上述表格中填写所需信息,然后单击“确定”。现在,您可以通过单击“外部数据”选项卡然后单击“更多”将表添加到“访问”。选择“ODBC 数据库”,然后选择“导入源数据...”,然后单击“机器数据源”选项卡。

于 2012-08-08T21:20:47.820 回答
1

生成 tnsnames.ora 文件的最简单选择是让 Oracle 来完成。如果您启动 Oracle Net Configuration Assistant(开始 | Oracle in Oracle Home Name | Configuration and Migration Tools | Net Configuration Assistant),您应该能够选择“Local Net Service Name configuration”,它允许您添加(或修改)一个TNS 别名。这将引导您收集连接所需的信息。

如果您更愿意直接处理文本文件,您可以使用此模板直接编辑 %Oracle Home%\network\ADMIN\tnsnames.ora 中的 tnsnames.ora 文件。

<TNS alias> = 
  (DESCRIPTION = 
    (ADDRESS = (PROTOCOL = TCP)(HOST = <hostname or IP>)(PORT = <port>)) 
    (CONNECT_DATA = 
      (SERVER = DEDICATED) 
      (SERVICE_NAME = <database service name>) 
    ) 
  ) 
于 2012-08-08T21:21:35.993 回答
0

在 tnsnames.ora 中,尝试将 SERVICE_NAME 更改为 SID。这对我有用。

于 2014-09-03T20:16:47.063 回答
0

我的经验 1. TNSNAMES.ORA 如下。XE = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.2.116) (PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = XE)))

  1. 设置 Windows 环境变量 (ControlPanel --> System --> Detail..) 2-1. 添加到PATH c:\oraclexe\instantclient_11_2\ --- Instantclient 2-2 的安装目录。添加新环境变量 TNS_ADMIN c:\oraclexe\instantclient_11_2\ --> 安装目录 NLS_LANG = JAPANESE_JAPAN.JA16SJISTILDE
  2. Windows 命令提示符 cd c:\Windows\SysWow64 <--我在 64 位 Win7 odbcad32.exe 中使用 32 位 ODBC 名称:ICODBC <--如你所愿服务名称:XE 用户名:系统按下连接测试按钮
于 2015-01-18T03:35:25.420 回答