6

を使用してOracle(11g)に接続したいunixODBC。接続文字列にはすべてのデータベース/データソース情報のみを指定し、ODBC INIファイル(/etc/odbc.iniおよび/etc/odbcinst.ini)には「.so」などの一般的なドライバー情報のみを含める必要があります。つまり、静的にする必要があります。これを実行して、ユーザーから外部から接続文字列を取得し、INIファイルやその他のディスク上の構成を変更せずにデータソースに接続できるようにします。

私が見たすべての例では、サーバー情報を次の/etc/odbc.iniように定義しています。

[myDSNname]
Driver = OracleODBC-11g
DSN = OracleODBC-11g
ServerName = //xxx.xxx.xxx.xxx:1521/SID_NAME
UserID = my_user
Password = my_pass

ここで、接続文字列に追加してUserIDとPasswordを接続文字列に取り込む方法を理解し、"UID=my_user;PWD=my_pass"それらをから削除しましたodbc.ini。接続ストリングからServerName出入りする方法も見つからなかったとき、私の喜びはすぐに過ぎ去りました。odbc.iniでは、どうすればこれを行うことができますか?そして、MySQLの場合のように、DSNをodbc.ini完全に削除し、接続文字列にDriverfromだけを含める方法はありますか?odbcinst.ini

編集: TNSまたはDSNを必要としないように見えるwww.connectionstrings.com からの接続文字列のいずれかを試してみると、EZCONNECTバリアントを含めて、すべて私に次のようになります。

[HY000] [unixODBC][Oracle][ODBC][Ora]ORA-12162: TNS:net service name is incorrectly specified
    (12162) (SQLDriverConnectW)
4

1 に答える 1