5

リモートのWindowsマシンにあるOracleデータソースに接続するには、RHEL6でOracleODBCドライバーをセットアップする必要があります。

次の手順を実行しました。
[1]oracle-instanceclient-basicをインストールしました
[2]環境変数を設定します:ORACLE_HOMEおよびLDパス
[3] /etc/oracle/TNSnames.oraを作成して構成しましたが、正しく設定されませんでした

最初に、エラーが発生しました。"Connect failed because target or object does not exist"

次に、ORACLE_SID = DB_NAMETNSnames.oraファイルに:を設定します。

しかし、それでも問題は解決しませんでした。新しいエラーメッセージが表示されました。"TNS: net service name is incorrectly specified"

4

2 に答える 2

11
yum install unixODBC
rpm -ivh oracle-instantclient-basic-10.2.0.3-1.i386.rpm #downloaded on http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html
unzip instantclient-odbc-linux32-10.2.0.3-20061115.zip #downloaded on http://www.oracle.com/technology/software/tech/oci/instantclient/htdocs/linuxsoft.html
cp ./instantclient_10_2/libsqora.so.10.1 /usr/lib/oracle/10.2.0.3/client/lib/
export ORACLE_HOME=/usr/lib/oracle/10.2.0.3/client
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

また、WindowsでOracleサーバーが実行されている場所を指すように設定する必要があり$TWO_TASKます(Oracleがサーバーをピックアップするデフォルトの場所)---ポート番号の後にリスナーを追加することを忘れないでください:

export TWO_TASK=//213.123.23.19:1521/listener

リスナーの名前を確認するには、Oracleサーバーを実行しているWindowsプロンプトで次のコマンドを入力します。

lsnrctl
status

リスナーとその状態(READYまたはUNKNOWN)を参加させます。準備完了状態のリスナーに接続します。Instance "zelistener", status READY

mkdir / etc / oracle

vi /etc/oracle/tnsnames.ora

MY_SID =
 ( DESCRIPTION =
  (ADDRESS_LIST =
  (ADDRESS =
  (PROTOCOL = TCP)
  (Host = 127.0.0.1)
  (Port = 1521)
  )
 )
 (CONNECT_DATA = (SID = MY_SID)
 )
)

TNS_ADMIN = / etc/oracleをエクスポートします

vi /etc/odbcinst.ini

[OracleODBC-10g]
Description = Oracle ODBC driver for Oracle 10g
Driver = /usr/lib/oracle/10.2.0.3/client/lib/libsqora.so.10.1
FileUsage = 1
Driver Logging = 7

vi /etc/odbc.ini

[simple]
Driver = OracleODBC-10g
DSN = OracleODBC-10g
ServerName = MY_SID
UserID = USER
Password = PASSWORD

isql-vシンプル

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
于 2012-12-18T14:54:29.980 に答える
2

unixODBCのバージョンを割り当てる必要があると思います。oracle12cを接続する場合は、unixODBC-2.3.1を使用する必要があります

于 2013-09-10T06:21:23.893 に答える