「[[マイクロソフト系技術情報 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 *その他 [#ecc28952] **MDAC/WDAC系 [#sd077726] ***概要 [#y2c76426] -データ・アクセスのために用意された、汎用的で標準的なインターフェイスの総 -ODBCやADO、OLE DBといったインターフェイスを利用することができる。 -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ドライバの単品利用ができる。 -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 --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: [[:データアクセス]]