使用ODBC连接到Oracle DB

时间:2012-08-08 21:05:25

标签: oracle odbc

我正在开发一个应用程序,需要与#34;轻微记录的#34;旧版Oracle数据库。要启动该过程,我想开始使用ODBC链接创建到该数据库的视图到MS Access数据库,这样我就可以找出数据库结构,但我无法弄清楚如何设置与Oracle数据库的ODBC连接。

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

我真的认为这将是一件容易的事;但是,它确实没有。

4 个答案:

答案 0 :(得分:2)

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

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

enter image description here

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

答案 1 :(得分:1)

生成tnsnames.ora文件的最简单方法是让Oracle执行此操作。如果启动Oracle Net Configuration Assistant(在 Oracle主页> |配置和迁移工具| Net Configuration Assistant中启动| Oracle),您应该可以选择“本地网络服务名称配置”,它允许您添加(或修改)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>) 
    ) 
  ) 

答案 2 :(得分:0)

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

答案 3 :(得分: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 - &gt; System - &gt; Detail ..) 2-1。添加到路径     c:\ oraclexe \ instantclient_11_2 \ ---安装instantclient目录 2-2。添加新环境变量     TNS_ADMIN c:\ oraclexe \ instantclient_11_2 \ - &gt;安装目录     NLS_LANG = JAPANESE_JAPAN.JA16SJISTILDE
  2. Windows命令提示符 cd c:\ Windows \ SysWow64&lt; - 我在64位Win7中使用32位ODBC odbcad32.exe的 姓名:ICODBC&lt; - 如你所愿 服务名称:XE 用户名:system 按连接测试按钮