質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

解決済

1回答

1567閲覧

C#のプログラムから、複数バージョンのOracleDBへ接続したい

shun_kuwa

総合スコア187

Oracle Database

Oracle Databaseは、米オラクルが開発・販売を行うリレーショナルデータベース管理システムです。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

1クリップ

投稿2018/08/21 23:58

編集2018/08/22 00:00

実現したいこと

C#のクライアントプログラムからOracle DBへ接続したいです。
クライアント環境は複数パターン存在しており、それぞれインストールされているOracleClientのバージョンが異なります。

現状は、クライアント環境ごとに参照するOracle.DataAccess.dllのバージョンを変えてビルドしています。
ひとつのビルドで複数バージョンのOracleDBへ接続する方法があれば教えていただきたいです。

開発環境

  • Visual Studio 2010
  • Oracle.DataAccell.dllを参照して以下のようなコードでOracleDB接続

C#

1using Oracle.DataAccess.Client 2 3public class OracleSample 4{ 5 public void Select() 6 { 7 using ( var con = new OracleConnection("接続文字列") ) 8 { 9 con.Open(); 10 11 var command = con.CreateCommand(); 12 command.CommandText = "select * from XXX"; 13 14 var reader = command.ExecuteReader(); 15 16 ~~ 17 } 18 } 19}

接続先

  • Oracle Database 11g または 12c

補足

開発SEの経験がありますが、OracleDBについてはほぼ初心者です。
根本的に認識が間違っている箇所があればご指摘いただけると幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

動作環境がないので確認できていませんが、
「ODP.NET Managed Driver」を使用してはいかがでしょうか?
ODP.NET Managed Driver(管理対象ドライバ)についての私的まとめとか
【C#】Oracleへの接続をクライアントインストール無しで行うあたりを見れば行けそうに思えます
なお、.NetFlameworkは4以上が必要らしいです
VS2010なら4は行けるみたいなので作業のプロジェクトがどのバージョンをターゲットにしているのかで使えない可能性もありますが・・・

投稿2018/08/22 14:10

len_souko

総合スコア1348

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shun_kuwa

2018/08/23 01:57

回答ありがとうございます。 .NET Frameworkのバージョンの方は、未だ3.5のものも多い(古い内製システムの保守をしています。)ですが、4に上げることは可能だと思います。 ただ、参考資料を拝見したところODP.NET Managed Driverは12cからの機能のようですので、11gと12cが混ざっている私の環境では利用が難しいように思いました。11gにも接続可能なものなのでしょうか。 重ねてのご質問となり恐縮ですが、よろしくお願いいたします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問