を使用して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
完全に削除し、接続文字列にDriver
fromだけを含める方法はありますか?odbcinst.ini
編集: TNSまたはDSNを必要としないように見えるwww.connectionstrings.com
からの接続文字列のいずれかを試してみると、EZCONNECT
バリアントを含めて、すべて私に次のようになります。
[HY000] [unixODBC][Oracle][ODBC][Ora]ORA-12162: TNS:net service name is incorrectly specified
(12162) (SQLDriverConnectW)