Oracle-Database
‘unixODBC在n一世X這D乙CunixODBC驅動器M____一個___呃_Dr一世在和r米一種n一種G和rDriver Manager使用 ODBC 連接到 OracleDB 時未找到數據源名稱,並且未指定預設驅動程序
我正在嘗試從 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
文件中。強制使用者註銷並重試。