🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
C#

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

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

Q&A

2回答

2551閲覧

C#アプリケーションからOracle 12cR2への接続について

退会済みユーザー

退会済みユーザー

総合スコア0

C#

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

Oracle

Oracleは、米オラクルが取り扱うリレーショナルデータベース管理システムです。メインフレームからPCまで、多様なプラットフォームに対応しています。

0グッド

0クリップ

投稿2021/02/15 23:06

編集2021/02/15 23:13

.NET系のプログラミング言語やIDEのことについて全然よくわかっていませんので、どこかおかしい質問になってしまっていたらすいません。

現在、C#で動いているGUIアプリケーションがありまして、それはOracleの11gR2を参照している状態です。

そして、システムのリプレイスに伴いアプリケーションはそのまま?(改修してるのかまでは基盤の人間なのでわかりませんが)、アプリケーションのデータベース参照先を新たにOracleの12cR2に向けるということを実現しなくてはならなくなりました。

とりあえずVisual Studioというものをインストールして、ソースコードを渡されて、dllとか入れ替えてくれって言われたんですが、現行のプログラムで確認できるdllとして、

1.Oracle.DataAccess
2.oci.dll
3.oraociei11.dll
4.orannbb11.dll
5.OraOps11.dll

※4番目に関しては多分微妙に名前間違えてます。すいません。

というのが、ひとまずOracleへの接続関係で必要なものなのかなというアタリまではつけました。そして、Oracle Client 12c版をインストールして、同梱されているdllを既存のものと差し替えればいいのかな?っていう発想にまず至ったのですが、管理者あるいはInstant Clientでインストールするかによってどっちも微妙に足らないdllが発生します。

ネットに繋がっていない開発環境で、また、更新プログラムを自由に個別ダウンロードとかできない状況である場合、あるモード(管理者とか)でOracle Clientをインストールしてはアンインストールしたりを繰り返して、とりあえずかき集める必要がありますか?普通はなかなか有り得ない行為だとは思うのですが…。

次に、とりあえずC#からOracleに繋ぐならOracleManagedDataAccessをVisual Studioから入れればいいというような記事を見つけまして、仮にこれをインストールした場合、その他のdllはもう不要になるんでしょうか?また、これを利用して接続ができるようになった場合、ソースコードにハネる部分はありませんか?サンプルコードとかを見るとusingディレクティブでしっかりこれの明記がされてたりしました。

正直、基盤側の人間としてはちゃんとした接続先、データベースサーバを構築・運用するのが仕事で、接続とかはアプリの人達がやってくれよっていうのが本音のところなのですが…。

話が逸れました。ひとまずC#からOracle 12cR2へ様々なdllを使ってアクセスする方法がおわかりの方がいらっしゃいましたらご教授頂きたく思います。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2021/02/15 23:42

取り敢えず接続文字列だけを変更して試してみてはいかがですか?
Orlofsky

2021/02/16 00:19

>、管理者あるいはInstant Clientでインストールするかによってどっちも微妙に足らないdllが発生します。 そこで表示されたエラー・メッセージをそのまま質問に追記してください。 Oracle12.2 ではInstant Clientは Instant Clientインストレーション・ガイド for Apple Mac OS X (Intel) しかありません。 https://docs.oracle.com/cd/E82638_01/mxcli/index.html >次に、とりあえずC#からOracleに繋ぐならOracleManagedDataAccessをVisual Studioから入れればいいというような記事を見つけまして 「いいというような」でわかりません。出典は明示できた方がいいです。
m.ts10806

2021/02/16 00:21

>4番目に関しては多分微妙に名前間違えてます。 一般的に出回っているライブラリならコピペしても構わないかと。自社で作られたものなら別ですが。 ただ、もともと作られたアプリケーションがあるようですし、赤の他人たるここの回答者より自社の人のほうが詳しいのでは?
m.ts10806

2021/02/16 00:23

ただ、「Visual Studioというものを」と書いてる時点で、社命としてもう少しきちんと育成してから任せるべきじゃないかなとは感じています。あなたの責任ではなく、会社の責任です。
退会済みユーザー

退会済みユーザー

2021/02/16 00:46 編集

> また、これを利用して接続ができるようになった場合、ソースコードにハネる部分はありませんか? ハネるってなんですか?造語、会社内部用語なら、一般的に通じる言葉にきちんと訂正してください。
gentaro

2021/02/16 00:47

そもそもなぜその指示をした人に質問せずここで質問しているのかが謎でしかない。 指示をした側は当然何をやるべきかわかってるんだから聞けばいいじゃん。 コミュ障で聞けないとかそういう特殊事情があるんだろうか。
m.ts10806

2021/02/16 01:11 編集

回答ももらってるのに退会はさすがに無責任。
guest

回答2

0

自己解決します。あまりに質問の仕方がお粗末であったのは申し訳なく感じておりますが、コミュ障だの人格否定される筋合いはございません。もう二度とこのサイトには関わりません。ありがとうございました。

投稿2021/02/16 00:50

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Orlofsky

2021/02/16 00:58

Oracle12.2は有償版しかありませんから、サポート契約もしてきちんとオラクル・サポートに確認した方が良いです。なお、Oracle12.2はもうどんなに大きなバグが発覚しても新たにパッチは作ってくれない古いバージョンになったかと。 コメントしてくれた人に返事をしないで放置するのはマナー違反です。
m.ts10806

2021/02/16 01:08 編集

質問に対する回答になっていないので低評価しました。 「自己解決」としたいのでしたらヘルプページにあるように、第三者にも分かるように解決までのプロセスを具体的に書いてください。 それに質問は「受付中」のままです。
退会済みユーザー

退会済みユーザー

2021/02/16 03:01

ゆとり教育の成果なのでしょうか・・・
guest

0

ネットに繋がっていない開発環境で、また、更新プログラムを自由に個別ダウンロードとかできない状況である場合、あるモード(管理者とか)でOracle Clientをインストールしてはアンインストールしたりを繰り返して、とりあえずかき集める必要がありますか?普通はなかなか有り得ない行為だとは思うのですが…。

本当に有り得ないのでやめた方がいいです。

C#からOracleに繋ぐならOracleManagedDataAccessをVisual Studioから入れればいいというような記事を見つけまして、仮にこれをインストールした場合、その他のdllはもう不要になるんでしょうか?

管理対象ドライバなら、dll単体で動作します。一部機能に相違はありますが、通常は管理対象ドライバの方が扱いやすいでしょう。
Oracle Data Provider for .NET管理対象ドライバのインストール
ODP.NET管理対象ドライバとODP.NET管理対象外ドライバの構成の相違点

投稿2021/02/16 00:36

編集2021/02/16 00:45
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問