web-dev-qa-db-ja.com

ODBCを使用してOracleDBに接続します

「簡単に文書化された」レガシーOracleデータベースと相互作用する必要があるアプリケーションを開発しています。そのプロセスを開始するには、ODBCリンクを使用してMSAccessデータベースへのビューを作成し、DB構造を理解できるようにしますが、セットアップ方法を理解できません。 ODBC OracleDBへの接続。

ホスト名とサービス名を使用して接続し、SQLDeveloperを使用してDBを表示することができました。しかし、ODBCのセットアップ方法がわかりません。私はWindows7を実行しており、Oracle 11g、Oracle Express Edition、Instant Client、およびODBC拡張機能をインストールしましたが、ODBCセットアップでは、Oracleは私に選択を求めていますTNSサービス名ですが、選択するものがなく、ホストを指定する場所もありません。tnsnames.oraでTNSをセットアップしようとしましたが、そのファイルの正しい場所がわからないのです。

これは簡単な部分だと本当に思いました。しかし、実際にはそうではありませんでした。

6
markshancock

Tnsnames.oraファイルを生成する最も簡単なオプションは、Oracleに生成させることです。 Oracle Net Configuration Assistantを起動すると([スタート] | [Oracle in Oracle Home Name | Configuration and Migration Tools | Net Configuration Assistant))、「ローカルNetサービス名の構成」を選択できるはずです。 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>) 
    ) 
  ) 
1
Justin Cave

Tnsnames.oraで、SERVICE_NAMEをSIDに変更してみてください。それは私のために働いた。

0
Dave

私の経験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->システム->詳細..)2-1。 PATH c:\ oraclexe\instanceclient_11_2 \に追加します--- instantclientのディレクトリをインストールします2-2。新しい環境変数の追加TNS_ADMINc:\ oraclexe\Instantclient_11_2 \->インストールディレクトリNLS_LANG = JAPANESE_JAPAN.JA16SJISTILDE
  2. Windowsコマンドプロンプトcdc:\ Windows\SysWow64 <-私は32ビットを使用しますODBC in 64bit Win7odbcad32.exe名前:ICODBC <-好きなようにサービス名:XEユーザー名:システムプレス接続テストボタン
0