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

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

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

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

Oracle

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

Q&A

解決済

3回答

17608閲覧

オラクルクライアントレスでの接続(.NET)

misako_aaa_1129

総合スコア11

C#

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

Oracle

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

0グッド

2クリップ

投稿2015/02/26 14:27

.NETでオラクルとの会話方法を検討しています。

考えているのはoleDBですが、要望でクライアントインストールせずに、dll等だけでできないかといわれています。

Java等はあるという話を聞いたことがありますが、.NETにはないでしょうか?

できればサードパーティーの製品を使わなく実現したいです。
要望多いですが、いいほうほうはないでしょうか?

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

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

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

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

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

guest

回答3

0

Oracle 12cからODP.NET Managed Driverがリリースされています。
http://docs.oracle.com/cd/E49329_01/win.121/b72971/release_changes.htm#BABGBIEB

こちらを使えばDLLのみでOracleサーバと通信できます。
(クライアントにコピーされるDLLのファイルサイズは6MBくらいです)

接続できるサーバが10gR2以降だったと思うので、サーバのバージョンが古い場合はご注意ください。

参考
http://stknohg.hatenablog.jp/entry/2014/11/02/173039

投稿2015/02/27 03:36

編集2015/02/27 03:37
mocha

総合スコア58

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

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

0

ベストアンサー

.NET Frameworkのバージョンにもよりますが、System.Data.OracleClient内のクラスを利用すればいいのでは。
https://msdn.microsoft.com/ja-jp/library/system.data.oracleclient%28v=vs.110%29.aspx

当然ですが、Oracleに最適化されているわけではないので、Oracleのバージョン違いによるプロパティ指定や、フェッチ制御の細かな設定などは指定できません。
が、それはOLEでも一緒ですよね。
どちらとも、パフォーマンスが最も最適になる方法論ではないです。
それなら、多少でもOracle操作が楽な方を選んだ方がいいような。

また、『インストール』という言葉がどういう次元のものを言っているか、も気になります。
ODACはxcopyタイプのものもあります。
http://www.oracle.com/technetwork/jp/database/windows/downloads/index-214820-ja.html
(ファイル名にxcopyがあるもの)

install.bat odp.net4 C:\oraclehome orahome
などとコマンドすれば、ODP.NETだけコピーします。
http://codezine.jp/article/detail/5914
ODP.NETがコピーされるのであれば、ODP.NETを利用した開発が可能でしょう。
そういうのも毛嫌いされているのですか?また、その理由は?
既にクライアントが入っているから?レジストリが汚されるのが嫌とか?
昔みたいに、インストールに失敗すると再インストールができなくなるのが嫌とか?
新規PCにセットアップする際に手順が多すぎると面倒とか?
何かしら理由はあると思います。

投稿2015/02/27 03:03

takiru

総合スコア130

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

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

0

.NETに必要なライブラリは基本的に.NETFreamworkだけです。
oleDBも.NETFreamworkに含まれてます。

.NETで実装するなら当然.NETFreamworkはインストールしてますよね?
まさか、インストールせずに実装?なんておっしゃいませんよね?

投稿2015/02/26 16:09

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

Ryzna

2015/02/27 01:51

とりあえずやり取りが出来ればいいって状況のときは私もOLEDBで接続させてましたね。 >> まさか、インストールせずに実装?なんておっしゃいませんよね? .NETでって前提があるのでそこは信じましょう。
bigfatrat

2015/03/07 10:24

> .NETに必要なライブラリは基本的に.NETFreamworkだけです。 oleDBも.NETFreamworkに含まれてます。 φ(・ω・ )メモメモ
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問