LoginSignup
19
18

More than 5 years have passed since last update.

WebアプリからOracleに接続するconnectionStrings(tnsname.ora不要)

Posted at

Webアプリケーションからデータベースに接続するとき、必要なのはconnectionStrings。
通常、Oracleに繋ぐにはProvider=OraOLEDB.Oracle~とかData Source=myoracleDBとか書くけれど、たいていの場合はtnsname.oraが必要だったりする。

で、いちいち用意してサーバー管理者に「入れて~」というのはものすごくめんどくさい。
なので、tnsname.ora無しで繋いでしまおうというのが以下のconnectionStrings。

Web.config
<connectionStrings>
  <add name="OracleDB" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=ホスト名)(PORT=1521))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=サービス名))); User Id=ユーザー名; Password=パスワード" />
</connectionStrings>

これを書いて、あとはコード側で

DatabaseAccess.cs
using System.Configuration;

string ConnectionString = ConfigurationManager.ConnectionStrings["OracleDB"].ConnectionString;

とすれば読み出せる。
楽チンである。

tnsname.ora書いたことがある人ならわかると思うけど、これはtnsname.oraに書いてるままのをWeb.configに書いてるだけだったりする。
分解するとこんな感じ

Data Source=(
    DESCRIPTION=(
        ADDRESS=(PROTOCOL=TCP)(HOST=ホスト名)(PORT=1521)
    )
    (
        CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=サービス名)
    )
);
User Id=ユーザー名; Password=パスワード
19
18
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
19
18