マイクロソフト系技術情報 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対応などはされない。

COM

  • COMベースの DBMS 接続用 API 。
  • VB6、VBA、VBScriptなどからデータアクセスする場合に使用できる。

OLE DB

  • COMを使って実装されたインタフェース群
  • MDACスタックの一部で、以下のテクノロジから利用される。

ADO

RDODAOの後継

  • 接続型データアクセスが既定と考えられているAPI設計だが、
    取得したレコードセットをCloseすれは非接続型データアクセスが可能。
  • ODBCに代わりOLE DBと呼ばれるプロバイダを選択することでデータベース固有の接続方法を抽象化するが、
  • 既存のODBCとの接続のためのラップである「OLE DB Provider for ODBC」を使うこともできる。
  • 参考

OO4O

Oracle社のリリースしたカスタムのデータプロバイダ。

  • OO4Oは、Oracle Objects for OLEの略称
  • OLEは、OLE DBではなく、COMのOLEを意味しているものと思われる。
  • ドライバは、恐らく、Oracleネイティブのドライバと思われる。

64bit対応

OO4Oは64bit対応がされていない。

  • 詳しくは、コチラを参照して下さい。

サポート(discon)

Oracle11g(11.2)が、OO4Oをサポートする最後のバージョン。

従って、今後、新規のOO4O採用は推奨されない
(VB6、VBA、VBScript等からはADOを使用する)。

移行

  • OO4OからADO(ADO.NET)への移行は
    オブジェクトモデル、APIが異なるため困難。
  • OraDynaset?を使用した接続型データアクセスが中心。
    非接続型のADO.NETへの移行には書換が必要になる。

従って、コンバージョンではなく再構築になる。

参考

その他

MDAC / WDAC系

概要

  • データ・アクセスのために用意された、汎用的で標準的なインターフェイスの総称
  • ODBCOLE DB、ADO、といったインターフェイスを利用することができる。
  • 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) で導入された、
    ODBCOLE 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 は存在しない。

サポート(対象と期間)

サポート(対象と期間)に関しては以下参照。

ODBC / OLE DB

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)
  • Microsoft Docs

VB6、VBAから使う

下記のCOM系を利用できる。

VC++から使う

以下の様な感じでしょうか。

COM

  • ODBC
    • afxdb.h(MFC)
    • Provider
  • RDO(RDO.)
  • 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データプロバイダを使用可能。

参考

ADO.NETデータプロバイダ

  • .NET Framework.NET Coreでネイティブのデータ・プロバイダがリリースされている。
  • .NET Core の データ・プロバイダなどは0依存でリリースされている。

Wikipedia

ドライバ

API

CX's Hello, World!


Tags: :データアクセス


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2021-01-22 (金) 18:00:35 (1183d)