Oracle-Database

‘unixODBC在n一世X這D乙CunixODBC驅動器M____一個___呃_Dr一世在和r米一種n一種G和rDriver Manager使用 ODBC 連接到 OracleDB 時未找到數據源名稱,並且未指定預設驅動程序

  • October 18, 2014

我正在嘗試從 linux 建立到 oracle db 的 odbc 連接。當我以 root 身份登錄時,它可以工作。我的根配置文件如下:

more ~/.profile
export ODBCINI=/etc/unixODBC/odbc.ini
export ODBCSYSINI=/etc/unixODBC

但是,當我以普通使用者身份登錄時,我無法進行 odbc 連接。我收到此錯誤:

[RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data source name not found, and no default driver specified

我不確定這裡有什麼問題,但我想也許我讓其他使用者可以使用 root 配置文件,它可能會解決我的問題。您如何向所有其他使用者展示根配置文件?有什麼想法可能在這裡發生嗎?

附加資訊:

這是我的 tnsnames.ora 文件,看起來像:

Data =
 (DESCRIPTION =
   (ADDRESS_LIST =
     (LOAD_BALANCE = off)
     (FAILOVER = ON)
     (ADDRESS = (PROTOCOL = TCP)(HOST = server1.example.com )(PORT = 1521))
   )
   (CONNECT_DATA =
     (service_name = Data)
   )
 )

這就是 odbc.ini:

[Data]
Driver=Oracle
Description=Test
Trace=Yes
ServerName=//server1.example.com:1521/
Database=test

這是 ondbcinst.ini

[Oracle]
Description = Oracle ODBC Connection
Driver = /opt/oclient/instantclient_12_1/libsqora.so.12.1
Setup =
FileUsage =

如果您有一個數據庫要連接,那麼您可以執行以下操作

導出 TWO_TASK=db_SID

你可以把它放在 /etc/profile 中,你的工作就完成了。

首先確保這是環境變數的問題。

在呼叫應用程序之前手動執行這些行。必須從那裡的命令行呼叫應用程序。

export ODBCINI=/etc/unixODBC/odbc.ini
export ODBCSYSINI=/etc/unixODBC

如果可行,那麼您可以將這些行添加到系統範圍的/etc/profile文件中。強制使用者註銷並重試。

引用自:https://unix.stackexchange.com/questions/153968