- 追加された行はこの色です。
- 削除された行はこの色です。
Open棟梁Project - マイクロソフト系技術情報 Wiki
「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。
-[[戻る>データアクセスのいろいろ]]
* 目次 [#je117dc1]
#contents
*概要 [#p227ab20]
UDA(Microsoft Universal Data Access)を実現するADOの後継。
.NET で高速かつ汎用的に DB アクセスを行う~
UDA(Microsoft Universal Data Access)を実現する~
ADOの後継となる.NET用データプロバイダ(標準オブジェクト モデル)。
この標準オブジェクト モデルには、DB から読み出したデータを格納する~
データセット、データテーブル等のクラスが提供されており、柔軟な利用が可能である。
-Microsoft Universal Data Access の概要~
http://msdn.microsoft.com/ja-jp/library/dd148549.aspx
-ADO.NET~
http://msdn.microsoft.com/ja-jp/library/e80y5yhx.aspx
-ADO.NET - Wikipedia~
http://ja.wikipedia.org/wiki/ADO.NET
非接続型のデータアクセスを推奨している。
-ADO 時代の非接続型データアクセス~
とあるコンサルタントのつぶやき - Site Home - MSDN Blogs~
http://blogs.msdn.com/b/nakama/archive/2008/10/16/ado.aspx
*ADO.NETデータプロバイダ [#v1121382]
以下、ADO.NETデータプロバイダの種類を列挙する。
*[[ADO.NETデータプロバイダ]] [#i482e084]
OLEDBやODBCなどの汎用的なデータプロバイダを除いて、~
基本的に、DBMS毎に、データプロバイダが用意されている。
**汎用データ プロバイダ [#p63e7daa]
-OLEDB.NETデータ プロバイダ
-ODBC.NETデータ プロバイダ
*データアクセスの方法 [#k27a0fc8]
以下の様な特徴のあるデータ・アクセス方法がある。~
(以下が、データ・アクセス方法、全てでは無い)。
--APIレイヤのみの提供。
--下位のドライバを選択できる。
--選択したドライバによって動きが変わる。
--.NET同梱のため、別途ラインタイムのインストールが不要。
**[[DataAdapter]] [#l6879c6c]
**DBMS固有データ プロバイダ [#kaf99732]
**[[TableAdapter]] [#s1d00868]
***SQL Server [#z6a38476]
-SQL Server用.NETデータ プロバイダ(System.Data.SqlClient)
--.NET同梱のため、別途ラインタイムのインストールが不要。
*参考 [#a1e34492]
**[[ADO.NET vs ORM (Entity Framework, Dapper)]] [#c99b586c]
***Oracle [#e86b81c5]
-Oracle用.NETデータ プロバイダ(System.Data.OracleClient)~
--.NET同梱のため、別途ラインタイムのインストールが不要。
--2C/Sなどでは、別途インストールのODP.NETと比べメリットあり。
--ただし、.NET 4.0から非推奨となっているので注意が必要。
----
Tags: [[:データアクセス]], [[:.NET開発]], [[:ADO.NET]]
---System.Data.OracleClientが.NET 4.0から~
非推奨になる (Oracle, ODP.NET, ADO.NET) - いろいろ備忘録日記~
http://devlights.hatenablog.com/entry/20090629/p1
---マイクロソフト製OracleClientが非推奨に~
http://www.infoq.com/jp/news/2009/06/oracleclient_deprecated
>マイクロソフトは、System.Data.OracleClientが.NET 4.0以降は非推奨になると発表した。~
この名前空間に含まれるクラスは、.NET 4.0では非推奨マークが付けられ、将来のバージョンでは削除される。
-ODP.NETデータ プロバイダ
--配列バインドをサポート
--フェッチ・サイズをサポート
***DB2 [#s07d659e]
-DB2.NETデータ プロバイダ
***HiRDB [#aa9b1539]
-HiRDB用.NETデータ プロバイダ(pddndp20.dll)
--配列バインドをサポート
--型指定、サイズ指定が必須
***MySQL [#k23406ba]
-MySQL用.NETデータ プロバイダ(MySQL Connector/NET)
-ライセンスに注意が必要(GPL)。
***PostgreSQL [#dad19e08]
-PostgreSQL用.NETデータ プロバイダ(Npgsql .Net Data Provider for Postgresql)
*その他 [#b3b449f1]
**ADO [#jc8baf0c]
RDOやDAOの後継、ADO.NETの前任
MDACとともにインストールされる[[COM]]インターフェイスのデータプロバイダ。
-[[COM]]インターフェイスを持つため、~
VB6、VBA、VBScriptなどからデータアクセスする場合に使用する。
-接続型データアクセスが既定と考えられているAPI設計だが、~
取得したレコードセットをCloseすれは非接続型データアクセスが可能。
-ADO.NETと異なり、プロバイダー・ドライバは接続文字列を使用して切り替え可能。
--[FILE] ODBC、OLEDB、ADO、RDS での接続文字列の~
使用方法を説明するための MDACCON.EXE ファイル~
https://support.microsoft.com/kb/193332/JA?wa=wsignin1.0
-サンプルなどはインターネット上から検索できる。
***参考 [#j94eab1b]
-ADO Version 2.6~
http://msdn.microsoft.com/ja-jp/library/cc407851.aspx
-ActiveX Data Objects - Wikipedia~
http://ja.wikipedia.org/wiki/ActiveX_Data_Objects
**OO4O(Oracle Objects for OLE) [#n1995e2c]
Oracle社のリリースしたADOに対抗するカスタムのデータプロバイダ。
-[[COM]]インターフェイスを持つため、~
VB6、VBA、VBScriptなどからデータアクセスする場合に使用する。
-OO4Oは[[64bit対応]]がされていない。
--OO4Oとは~
http://www.doppo1.net/oracle/middle/oo4o.html
-Oracle11g(11.2)が、OO4Oをサポートする最後のバージョン
--従って、今後、新規のOO4O採用は推奨されない。~
(VB6、VBA、VBScript等からはADOを使用する)。
-サンプルなどはインターネット上から検索できる。
-OO4OからADO(ADO.NET)への移行は~
オブジェクトモデル、APIが異なるため困難。
--従って、コンバージョンではなく再構築になる。
***参考 [#j5db0af1]
-Oracle Objects for OLEの紹介~
https://docs.oracle.com/cd/E16338_01/win.112/b58887/intro.htm
-OTN Japan - 意外と簡単! .NETでOracle:oo4oからODP.NET移行編~
http://otndnld.oracle.co.jp/easy/dotnet/oo4otoodp/#8