「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>データプロバイダ]]

* 目次 [#c06317bb]
#contents

*概要 [#m1dd588d]
以下、ADO.NET以外のデータプロバイダの種類を列挙する。

接続型データアクセスをサポートする、ADO.NETの前任のデータプロバイダ。

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

-ADO.NETと異なり、プロバイダー・ドライバは接続文字列を使用して切り替え可能。

-サンプルなどはインターネット上から検索できる。

*詳細 [#m20fc2e6]

**COM系 [#k32b2b64]

***DAO [#e948d3e2]
主に Jet接続に用いられるが、ODBC接続も可能。

***RDO [#rf9d78c2]
ODBC データベース専用として設計されている。

***ADO [#v54e423d]
[[RDO>#rf9d78c2]]や[[DAO>#e948d3e2]]の後継

-接続型データアクセスが既定と考えられているAPI設計だが、~
取得したレコードセットをCloseすれは非接続型データアクセスが可能。

-[FILE] ODBC、OLEDB、ADO、RDS での接続文字列の~
使用方法を説明するための MDACCON.EXE ファイル~
https://support.microsoft.com/kb/193332/JA?wa=wsignin1.0

-ADO超入門 - Access VBA Tips~
http://www.happy2-island.com/access/gogo03/capter00301.shtml

-参考

--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 [#l58e3f7d]
Oracle社のリリースしたカスタムのデータプロバイダ。~
#OO4Oは、Oracle Objects for OLEの略称

***[[64bit対応]] [#n2da6478]
OO4Oは[[64bit対応]]がされていない。~

-詳しくは、[[コチラ>WOW64#v281156a]]を参照して下さい。

***サポート(discon) [#obe75222]
Oracle11g(11.2)が、OO4Oをサポートする最後のバージョン。

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

-Oracle Objects for OLEの紹介~
http://docs.oracle.com/cd/E16338_01/win.112/b58887/intro.htm
>Oracle Database 11gリリース2(11.2)は、Oracle Objects for OLEをサポートする最後のデータベース・バージョンです。

-ODACのリリース情報(対応状況)
--Oracle Data Access Components (ODAC) for Windows Downloads~
32-bit Oracle Data Access Components (ODAC) with Oracle Developer Tools for Visual Studio~
http://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
---ODAC 12c Release 3 (12.1.0.2.1) Installation Instructions, Setup, and Notes~
http://www.oracle.com/technetwork/topics/dotnet/downloads/install121021-2389380.html
---ODAC 11.2.0.3.0 Installation Instructions, Setup, and Notes~
http://www.oracle.com/technetwork/topics/dotnet/downloads/install112030-1440546.html

***移行 [#w54c280e]
-OO4OからADO(ADO.NET)への移行は~
オブジェクトモデル、APIが異なるため困難。

-OraDynasetを使用した接続型データアクセスが中心。~
非接続型のADO.NETへの移行には書換が必要になる。

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

***参考 [#rb67e981]

-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

*VC++から [#va05c737]
-Visual C++ でのデータ アクセス~
https://msdn.microsoft.com/ja-jp/library/vstudio/7wtdsdkh.aspx

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

**COM [#ab7a0e2e]

-ODBC
--afxdb.h(MFC)
--Provider

-DAO(DAO.DBEngine)
--Jet
--ODBC

-RDO(RDO.)
--ODBC専用

-OLEDB
--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.

-ADO(ADODB.)
--OLEDB

**C++/CLI [#cc66b524]
[[ADO.NETデータプロバイダ]]

*その他 [#ecc28952]

**MDAC/WDAC系 [#sd077726]

***概要 [#y2c76426]
-データ・アクセスのために用意された、汎用的で標準的なインターフェイスの総

-ODBCやADO、OLE DBといったインターフェイスを利用することができる。

-MDAC/WDACは、MDAC 2.8 以降 Windows DAC 6.0 の名称となっている。
-MDAC 2.8 以降 Windows DAC 6.0(WDAC) の名称となっている。

-WDACは、VistaからOS標準ライブラリになっており、既に導入されている。

***参考 [#q7c7428a]
-Microsoft Data Access Components - Wikipedia~
https://en.wikipedia.org/wiki/Microsoft_Data_Access_Components

-MDAC/Windows DAC を使用するアプリケーションの開発/動作環境~
https://msdn.microsoft.com/ja-jp/data/gg607260.aspx

-MDACを新バージョンにアップグレードする方法 - @IT~
https://www.atmarkit.co.jp/fwin2k/win2ktips/912mdacupg/mdacupg.html

**SNAC / SQLNCLI [#qe125264]
-双方とも、SQL Server Native Clientの略。

-SQL Server Native Clientは、SQL Server 2005 (9.x) で導入された、~
OLE DB と ODBC の両方で使用されるスタンドアロンのデータ アクセス API

***推奨・非推奨 [#oa1f14ff]
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 は存在しない。

--https://docs.microsoft.com/ja-jp/sql/relational-databases/native-client/sql-server-native-client?view=sql-server-2014
>SQL Server 2014 は、SQL Server 2012 Native Client をインストールします。SQL Server 2014 Native Client は存在しません。

--https://docs.microsoft.com/ja-jp/sql/relational-databases/native-client/sql-server-native-client?view=sql-server-2016
>SQL Server Native Client (SQLNCLI) は非推奨と新しい開発作業での使用はお勧めしません。

--https://docs.microsoft.com/ja-jp/sql/relational-databases/native-client/sql-server-native-client?view=sql-server-2017
>SQL Server Native Client (SQLNCLI) は非推奨と新しい開発作業での使用はお勧めしません。

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

-参考
--Microsoft SQL Server のドライバーの履歴 - SQL Server | Microsoft Docs~
https://docs.microsoft.com/ja-jp/sql/connect/connect-history
--SNAC lifecycle explained | SQL Server Release Services~
https://blogs.msdn.microsoft.com/sqlreleaseservices/snac-lifecycle-explained/

***ODBC / OLE DB [#h48b2e1f]
SNAC / SQLNCLI の代替として、ODBC / OLE DBドライバの単品利用ができる。

-最近は、様々なOS向けにドライバが提供されている。

-SQL Server Native Client (SQLNCLI) としての提供は、
--SNAC Build Number 11で終わっており、
--SNAC Build Number 12以降では、ドライバ単品として提供されている模様。

-ただし、コチラも、SNACを名乗っているのでヤヤコシイ。
-最近は、様々な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
--Microsoft OLE DB Driver for SQL Server - SQL Server~
https://docs.microsoft.com/ja-jp/sql/connect/oledb/oledb-driver-for-sql-server
--Microsoft ODBC Driver for SQL Server - SQL Server~
https://docs.microsoft.com/ja-jp/sql/connect/odbc/microsoft-odbc-driver-for-sql-server

-ちなみに、[[OLE DBの discon 話は取り消しになったらしい>ADO.NETデータプロバイダ#zd12cac3]]。

**VB6、VBAから使う [#j4a2b1d9]
下記の[[COM系>#k32b2b64]]を利用できる。

**VC++から使う [#va05c737]
-Visual C++ でのデータ アクセス~
https://msdn.microsoft.com/ja-jp/library/vstudio/7wtdsdkh.aspx

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

***COM [#ab7a0e2e]

-ODBC
--afxdb.h(MFC)
--Provider

-DAO(DAO.DBEngine)
--Jet
--ODBC

-RDO(RDO.)
--ODBC専用

-OLEDB
--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.

-ADO(ADODB.)
--OLEDB

***C++/CLI [#cc66b524]
[[ADO.NETデータプロバイダ]]を使用可能。

*参考 [#a8892a5f]

**[[ADO.NETデータプロバイダ]] [#k39f5694]
-.NET や .NET Coreでネイティブのデータ・プロバイダがリリースされている。
-.NET Core の データ・プロバイダなどは0依存でリリースされている。

**CX's Hello, World! [#a63fc4dc]
-ODBC~
http://cx20.main.jp/blog/hello/category/odbc/
-DAO~
http://cx20.main.jp/blog/hello/category/dao/
-OLE DB~
http://cx20.main.jp/blog/hello/category/ole-db/

-ADO~
http://cx20.main.jp/blog/hello/category/ado/
-ACE Database~
http://cx20.main.jp/blog/hello/category/ace-database/
-oo4o~
http://cx20.main.jp/blog/hello/category/oo4o/

----
Tags: [[:データアクセス]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS