お詫びと訂正 <-- Oracleの件

Oracleの、instant_clientの設定 + Oracle.ManagedDataAccessで、エラーが出て、必要なファイルが見つからない、と騒いでしまった件。

この部分は、完全に私の勘違いでした。Oracle周辺に関して言えば、一切不具合は、なく、私の手順や確認漏れが原因でした。謹んで Oracle関係者の方にお詫び申し上げます。

言い訳ですが、まず、開発機: ここでは、サーバもクライアントも設定して、一台の機械の中で正常動作するアプリを書き上げていた。但し、最初はVC++でプログラムしていたため、このOracle.ManagedDataAccessは使う必要がなく、そのままVC++のMFCの環境で動作していた。

その後、別の会社の機械とIP接続し、さらに別の工作機械とフォルダ渡しで状態監視ファイルにポーリングをかける機能(VBのプログラム)とをマージして、IP接続のサンプルを書いたC#のプログラムに、それぞれ、VBとVC++からコードを移植して、三つの機能を一体化させたBackGround Serviceのプログラムに仕上げる、という手順を取った。その際に、Oracleアクセスの部分だけ一番最後になり、突貫工事で「Oracle接続」部分を移植させた、という感じになった。この際に、このOracle.ManagedDataAccessのモジュールが必要になり、Visual Studioの機能を使って組み込み、すんなりと動作し、よかったよかったと、土壇場で現場テストに間に合わせた、という感じになりました。

ところが、現場で動かなくて、大慌てしたのが、前のページに書いた通りの出来事で、結論から言えば、私自身が現場作業用に、デスクトップの開発機から、ノートPCにソースコードを持ち出してプログラムのコンパイル動作は通るようにしたものの、そのノートPCでは、Visual Studioでの設定作業を行わなかったため、EXEの存在するパスに、Oracle.ManagedDataAccess.dllが入っていない、という事態になっていて、それで大騒ぎした。それが、「Oracleのセットアップがおかしい!」と文句を書いた状況でした。

別件(大学/専門学校関係)の作業を済ませて、再びこの問題に取り組もうとして、ふと、開発機のbinをみたら、EXEの他に、Oracle.ManagedDataAccess.dllがあるじゃないか!と気づいた次第。試してみたら、もう、一も二もなく、dllをコピーしただけで、すべて完全に動作しました。

となると、これはもう、Oracleさんに、土下座して平謝りするしかない。

すみません、ネットなんで、土下座しても m(_ _)m これを書くだけですが、本当に申し訳ない、難癖をつけてしまって、心よりお詫び申し上げます。

ただもう、当日は、テンパって、半ばプッツンしていて、まったく事態が見えていなかった。

今更ながら思う。代案として当日現場で、私が現場作業用に持ちこんだノートの方に、テザリングでスマホからネット接続し、VisualStudio上で、このOracle.ManagedDataAccessの設定を行なって、その段階で、binにEXEの他にDLLがあることに気づきさえしたら、当日作業の2時間くらいの試行錯誤が、すんなり解決していたな、と思うし、Oracle様(いきなり「様」をつけてますが・・・)に、不快な思いをさせることもなかったかな、と思います。

Oracle関係者の皆様、改めまして、大変申し訳ございませんでした。深くお詫び申し上げます。