とあるPCをセッティング中で起こった出来事。
Oracleデータベースを基幹業務で利用している関係上、接続にはODBCドライバを経由して接続しています。
いつものように設定は情報の穴埋め作業ですので特段の問題が発生したことは無いのが自慢。
今回はそんな定型業務で起こった「文字化け」からの裏技?なのかわかりませんが、特殊な設定が可能な情報を手順と共に記録しておきます。
【突然は困ります!】
今回セッティングするのはWindows Server 2008R2 64bit SP1です。このサーバに自社開発販売管理システムをインストールするというミッション中に起こった。
本来でしたら自分で設定したTNSサービス名はこんな感じ。
ところが今回はこんな感じ。。
おいおい、それじゃあ読めないよ?どうしたんだい?
しかもどれを選択してもうまく設定できません。。
【とりあえずGoogle先生に丸投げ】
あまり情報が無い?皆さんはこういった件は遭遇していない?
最近運が悪いです。クソッタレ!
ちょっと調べてみると設定の仕方に回避方法があるということがわかりました。
参考HP
https://www.walbrix.com/jp/blog/2007-04-oracle10g-instant-client-windows-odbc.html
ODBC設定のTNSサービス名に入力する情報を工夫します。
本来であれば、「Oracle Net Configuration Assistant」ローカル・ネット・サービス名構成で入力した設定を使用します。
(正常な場合はここで入力した内容がTNSサービス名で列挙されるのですが…)
回避方法は
この「TNSサービス名」の部分に候補から選択するのでは無く、文字を入力してしまいます。
書式は [Oracleサービス提供元のPC名]/[接続先のOracleサービス名] になります。
※例としては
Oracleデータベースサーバーのコンピュータ名:OracleDatabase-SV
OracleデータベースサーバーのIPアドレス:192.168.1.1
Oracleデータベースサービス名:ORCL
とした場合は
OracleDatabase-SV/ORCL
と入力します。(コンピューター名の部分はIPアドレスでも構いません)
192.168.1.1/ORCL
となります。
文字化けへの根本的な解決方法にはなりませんが、一度インストールしたOracle Clientは削除してもなぜか綺麗に消えないで設定関係が残ってしまう為にOSの入れ直しを行うよりは、起こった出来事に柔軟に対応するほうが楽です。
ただし、対価をいただいて作業を行うエンジニアの方にはお勧めはしません。素直に根本解決に挑みましょう!ガンバレ。