「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
- 以下、ADO.NET以外のデータプロバイダの種類を列挙する。
- 接続型データアクセスをサポートする、ADO.NETの前任のデータプロバイダ。
- ADO.NETと異なり、プロバイダー・ドライバは接続文字列を使用して切り替え可能。
- 専用APIではなく、裏でJet / ODBC等の汎用のインタフェースを用いるモノが多い。
詳細 †
ドライバ †
Jet †
- Microsoft Jet Database EngineにアクセスするNative Jet ISAM Driver。
- Joint Engine Technologyの略で、Microsoft Accessで使用されている。
- SQL Server 2005 Express EditionではMSDE(Microsoft Desktop Engine)が搭載された。
ODBC †
- データへのアクセスを統一化することを目的としてマイクロソフトが1992年に発表
- C言語上のAPIレベルで統一したインターフェイスとしてデータベースに接続するためのAPI
- 1995年には、X/OpenとISOが進めていた「SQL/CLI」と標準化を合わせ、SQL標準の一部となった。
- ODBCもしくはSQL/CLIは
- 多くのRDBMSでサポートされており、且つ、
- ODBCはほとんどの場合でSQL/CLIのスーパーセットとなっている。
- Javaでは、
- 嘗てJDBC-ODBCブリッジが使用されていたが、
- JDBCのサポートが整ってきたこともあり、
Java7では非推奨、Java8では標準から削除された。
API系 †
DAO †
- 1992年11月に登場し、VC++、VBをサポート。
- 主に Jet接続に用いられるが、v3.5からODBC接続も可能になった。
- v3.6が最後のバージョンで64bit対応などはされない。
RDO †
- Visual Basic4、5、6に含まれていたAPIで、
- ODBCデータベース専用として設計さたラッパー。
- v2.0が最後のバージョンで64bit対応などはされない。
OLE DB †
- COMを使って実装されたインタフェース群
- MDACスタックの一部で、以下のテクノロジから利用される。
ADO †
RDOやDAOの後継
- 接続型データアクセスが既定と考えられているAPI設計だが、
取得したレコードセットをCloseすれは非接続型データアクセスが可能。
- ODBCに代わりOLE DBと呼ばれるプロバイダを選択することでデータベース固有の接続方法を抽象化するが、
- 既存のODBCとの接続のためのラップである「OLE DB Provider for ODBC」を使うこともできる。
OO4O †
Oracle社のリリースしたカスタムのデータプロバイダ。
- OO4Oは、Oracle Objects for OLEの略称
- OLEは、OLE DBではなく、COMのOLEを意味しているものと思われる。
- ドライバは、恐らく、Oracleネイティブのドライバと思われる。
OO4Oは64bit対応がされていない。
サポート(discon) †
Oracle11g(11.2)が、OO4Oをサポートする最後のバージョン。
従って、今後、新規のOO4O採用は推奨されない
(VB6、VBA、VBScript等からはADOを使用する)。
移行 †
- OO4OからADO(ADO.NET)への移行は
オブジェクトモデル、APIが異なるため困難。
- OraDynaset?を使用した接続型データアクセスが中心。
非接続型のADO.NETへの移行には書換が必要になる。
従って、コンバージョンではなく再構築になる。
参考 †
その他 †
MDAC / WDAC系 †
概要 †
- データ・アクセスのために用意された、汎用的で標準的なインターフェイスの総称
- MDAC 2.8 以降 Windows DAC 6.0(WDAC) の名称となっている。
- WDACは、VistaからOS標準ライブラリになっており、既に導入されている。
参考 †
SNAC / SQLNCLI †
- 双方とも、SQL Server Native Clientの略。
- SQL Server Native Clientは、SQL Server 2005 (9.x) で導入された、
ODBC、OLE DBの両方で使用されるスタンドアロンのデータ アクセス API
推奨・非推奨 †
SQL Server 2016以降は、SQL Server Native Client (SNAC / SQLNCLI ) は非推奨
- SQL Server 2000 - 2008 Native Client (SQLNCLI10)
- SQL Server 2005 - 2012 Native Client (SQLNCLI11)
- SQL Server 2014以降のSQL Server Native Client は存在しない。
サポート(対象と期間) †
サポート(対象と期間)に関しては以下参照。
SNAC / SQLNCLI の代替として、ODBC / OLE DBドライバの単品利用ができる。
- SQL Server Native Client (SQLNCLI) としての提供は、
- SNAC Build Number 11で終わっており、
- SNAC Build Number 12以降では、ドライバ単品として提供されている模様。
- 最近は、様々なOS向けにドライバが提供されている。
ただし、コチラも、SNACを名乗っているのでヤヤコシイ。
- SQL Server 2005 to 2014 , SNAC 11(12.0.x)
- SQL Server 2008 to 2016 , SNAC 13(13.0.x, 13.1.x)
VB6、VBAから使う †
下記のCOM系を利用できる。
VC++から使う †
以下の様な感じでしょうか。
COM †
- OLE DB
- atldbcli.h(ATL)
- Provider
- Microsoft OLE DB Provider for ODBC
- Microsoft OLE DB Provider for Microsoft Jet
- Microsoft Office 12.0 Access Database Engine OLE DB Provider
- , etc.
C++/CLI †
ADO.NETデータプロバイダを使用可能。
参考 †
Wikipedia †
ドライバ †
API †
CX's Hello, World! †
Tags: :データアクセス