まずは、こんなコードを作ってみました。
(もしよかったら、完全なソースもここに置いときます。)
ODP.NETでコネクションを開いてみるだけのサンプル
private void button1_Click(
object sender, EventArgs e)
{
IDbConnection connection =
new OracleConnection();
try {
connection.ConnectionString = textBox1.Text;
connection.Open();
connection.Close();
MessageBox.Show(
"コネクションオープン成功");
}
catch (Exception ex)
{
MessageBox.Show(
"コネクションオープン失敗:" + ex.ToString());
}
}
普通に実行すると、もちろんデータベースに接続してコネクションを確立。
「コネクションオープン成功」というメッセージボックスが表示されます。
ところが、この作成されたEXEが置かれているフォルダの名前に"()"を
つけてみてください。
なんと、誰でも一度は見たことがある(?)こんなエラーが出ちゃいます。
「ORA-12154: TNS: 指定された接続識別子を解決できませんでした 」
・・・え~?!フォルダ名が変わるとなんでこのエラーに??
いろいろ推理してみたけどまったく理由がわからない!