Open_Database_Connectivity
コンピューティングでは、オープン データベース コネクティビティ( ODBC ) は、データベース管理システム(DBMS)にアクセスするための標準的なアプリケーション プログラミング インターフェイス(API)です。ODBC の設計者は、ODBC をデータベース システムやオペレーティング システムから独立させることを目指しました。 ODBC を使用して作成されたアプリケーションは、データ アクセス コードをほとんど変更することなく、クライアント側とサーバー側の両方で他のプラットフォームに移植できます。
ODBC は、 ODBCドライバをアプリケーションと DBMS 間の変換層として使用することで、DBMS の独立性を実現します。アプリケーションは、リンクされているODBC ドライバー マネージャーを介して ODBC 関数を使用し、ドライバーはクエリをDBMS に渡します。ODBC ドライバーは、アプリケーションが使用する標準的な機能セットを提供し、DBMS 固有の機能を実装する、プリンター ドライバーやその他のドライバーに似ていると考えることができます。ODBCを利用できるアプリケーションを「ODBC対応」と呼びます。ODBC 準拠のアプリケーションは、ドライバーがインストールされているすべての DBMS にアクセスできます。すべての主要な DBMS と、アドレス帳システムやMicrosoft Excelなどの他の多くのデータ ソース用のドライバーが存在します。、テキストまたはカンマ区切り値(CSV) ファイルの場合も同様です。
ODBC は、もともと1990 年代初頭にMicrosoftとSimba Technologiesによって開発され、 SQL Access GroupによってUnixおよびメインフレーム分野で標準化されたCall Level Interface (CLI)の基礎となりました。ODBC は、CLI の取り組みの一環として削除されたいくつかの機能を保持しています。完全な ODBC は後にこれらのプラットフォームに移植され、CLI よりもはるかによく知られているデファクト スタンダードになりました。CLI は ODBC に類似したままであり、アプリケーションをあるプラットフォームから別のプラットフォームにほとんど変更することなく移植できます。
コンテンツ
1 歴史
1.1 ODBC前 1.2 初期の取り組み 1.3 SAG と CLI 1.4 JET と ODBC 1.5 リリースと継続的な開発 1.6 今日のODBC 1.7 バージョン履歴
1.7.1 ODBC 仕様
1.7.2 デスクトップ データベース ドライバー
2 ドライバーとマネージャー
2.1 運転手 2.2 ドライバーマネージャー
3 ブリッジ構成
3.1 ODBC-to-JDBC (ODBC-JDBC) ブリッジ 3.2 JDBC-to-ODBC (JDBC-ODBC) ブリッジ 3.3 OLE DB から ODBC へのブリッジ 3.4 ADO.NET から ODBC へのブリッジ
4 こちらもご覧ください
5 参考文献
6 外部リンク
歴史
ODBC前
1970 年代にメインフレームベースのリレーショナル データベースが導入されたことで、データ アクセス方法が急増しました。一般に、これらのシステムは、ユーザーが英語のようなコマンドを入力して出力を受け取ることができる単純なコマンド プロセッサと共に動作しました。最もよく知られている例は、IBMのSQLとIngresプロジェクトのQUELです。これらのシステムは、他のアプリケーションがデータに直接アクセスすることを許可する場合と許可しない場合があり、さまざまな方法論を使用したものもSQLの導入は、言語の標準化の問題を解決することを目的としていましたが、実装には大きな違いがありました。
SQL 言語には初歩的なプログラミング機能しかなかったため、ユーザーはFortranやCなどの別の言語で記述されたプログラム内で SQL を使用したいと考えることがよくありました。これにより、SQLコードを別の言語に埋め込むことができるEmbedded SQLの概念が生まれました。たとえば、次のような SQL ステートメントをC ソース コード内にテキストとして挿入し、コンパイル中にステートメントを SQL システムに渡すライブラリ内の関数を直接呼び出すカスタム形式に変換できます。ステートメントから返された結果は、同様のライブラリ コードを使用する場合と同様に、C データ形式に解釈されます。SELECT * FROM citychar *
埋め込み SQL のアプローチにはいくつかの問題がありました。さまざまな種類の SQL と同様に、それらを使用する組み込み SQL は、プラットフォームごとだけでなく、1 つのプラットフォーム上の言語間でさえも大きく異なります。SQL/DS . 埋め込み SQL の概念のもう 1 つの重要な問題は、SQL コードはプログラムのソース コードでのみ変更できることでした。そのため、クエリを少し変更するだけでも、変更にはかなりのプログラマの労力が必要でした。SQL 市場では、これを静的 SQLと呼んでいましたが、動的 SQL は、ほぼすべての SQL システムに同梱されていたコマンドライン インターフェイスや、呼び出されるまで SQL をプレーン テキストのままにしていたプログラミング インターフェイスなど、いつでも変更できるものでした。. 動的 SQL システムは、1980 年代に SQL ベンダーの主要な焦点となりました。
古いメインフレーム データベースと、それに基づく新しいマイクロコンピュータベースのシステムでは、一般に、ユーザーとデータベース エンジンの間に SQL のようなコマンド プロセッサがありませんでした。代わりに、データはプログラムによって直接アクセスされました。大規模なメインフレーム システムの場合はプログラミング ライブラリ、dBASEや同様のアプリケーションの場合はコマンド ライン インターフェイスまたはインタラクティブ フォーム システムです。通常、dBASE からのデータは、マシン上で実行されている他のプログラムから直接アクセスすることはできませんでした。これらのプログラムには、多くの場合ライブラリを介してこのデータにアクセスする方法が与えられる場合がありますが、他のデータベース エンジンや、同じエンジン内の異なるデータベースでさえも機能しません。実際、そのようなシステムはすべて静的であり、かなりの問題がありました。
初期の取り組み
1980 年代半ばまでにマイクロコンピュータが急速に進歩し、特にグラフィカル ユーザー インターフェイスとLotus 1-2-3のようなデータが豊富なアプリケーション プログラムの導入により、クライアント側のプラットフォームとしてパーソナル コンピュータを使用することへの関心が高まりました。クライアントサーバーコンピューティングで。このモデルでは、大型のメインフレームとミニコンピューターは、主にローカル エリア ネットワークを介してマイクロコンピューターにデータを提供するために使用され、マイクロコンピューターはそのデータを解釈、表示、および操作します。このモデルが機能するためには、データ アクセス標準が必要でした。メインフレームの分野では、店舗内のすべてのコンピュータが 1 つのベンダーのものであり、クライアントが直接通信するコンピュータ端末である可能性が非常に高かったのですが、マイクロ分野では、はそのような標準化ではなく、任意のクライアントが任意のネットワーク システムを使用して任意のサーバーにアクセスする可能性が
1980 年代後半までに、この目的のために抽象化レイヤーを提供するいくつかの取り組みが進行中でした。これらのいくつかはメインフレーム関連のもので、これらのマシンで実行されるプログラムがさまざまな SQL 間で変換できるように設計されており、他のメインフレームまたはマイクロコンピューター プログラムから呼び出すことができる単一の共通インターフェイスを提供します。これらのソリューションには、IBM の Distributed Relational Database Architecture ( DRDA ) とApple ComputerのData Access Language が含まれていました。ただし、より一般的なのは、必要なネットワークやファイル変換のサポートを含む完全なプロトコル スタックを含む、完全にマイクロコンピュータで実行されるシステムでした。
このようなシステムの初期の例の 1 つは、Lotus DevelopmentのDataLensで、当初は Blueprint と呼ばれていました。1-2-3 用に開発されたブループリントは、SQL/DS、DB2、 FOCUS、およびさまざまな同様のメインフレーム システムを含むさまざまなデータ ソースをサポートするだけでなく、dBaseや初期の Microsoft/Ashton-Tate の取り組みなどのマイクロコンピュータ システムもサポートしていました。最終的にMicrosoft SQL Serverに発展します。後の ODBC とは異なり、Blueprint は純粋にコードベースのシステムであり、SQL のようなコマンド言語に類似するものは何もありませんでした。代わりに、プログラマーはデータ構造を使用してクエリ情報を格納し、これらの構造の多くをリンクしてクエリを構築しました。Lotus は、これらの複合構造をクエリ ツリーと呼んでいました。
同じ頃、Sybase (Tom Haggin)、Tandem Computers ( Jim Gray & Rao Yendluri)、Microsoft (Kyle Geiger) のメンバーを含む業界チームが、標準化された動的 SQL の概念に取り組んでいました。システムの大部分は Sybase の DB-Library システムに基づいており、Sybase 固有のセクションが削除され、他のプラットフォームをサポートするためにいくつかの追加が行われました。 DB-Library は、特定の言語に密接にリンクされたライブラリ システムから、オペレーティングシステムによって提供され、そのプラットフォーム上の言語がその標準に準拠することを必要とするライブラリ システムへの業界全体の移行によって支援されました。これは、単一のライブラリを、特定のプラットフォーム上の (潜在的に) 任意のプログラミング言語で使用できることを意味していました。
Microsoft Data Access APIの最初のドラフトは、1989 年 4 月に発行されました。これは、Lotus が Blueprint を発表したのとほぼ同じ時期です。 Blueprint の優れたリード (MSDA がまだ紙のプロジェクトだったときに実行されていた) にもかかわらず、SQL が事実上のデータベース標準になることが明らかになったため、Lotus は最終的に MSDA の取り組みに参加しました。業界からのかなりのインプットの後、1989 年の夏に標準はSQL Connectivity ( SQLC ) になりました。
SAG と CLI
1988 年、主にUnixおよびデータベース コミュニティのいくつかのベンダーが、SQL 言語の単一の基本標準を作成するためにSQL Access Group (SAG) を結成しました。最初の会議では、SQL 言語自体だけに取り組むべきか、それとも動的な SQL 言語組み込みシステム (コール レベル インターフェイス (CLI) と呼ばれるもの) を含めたより広範な標準化を試みるかについて、かなりの議論がありました。 . Microsoft の Kyle Geiger は、当時まだ MS Data Access として知られていたものの初期草案を持って会議に出席しているときに、Digital Equipment Corporation (DEC) の Jeff Balboni と Larry Barnes も SQLC 会議に参加するよう招待しました。SQLC は、DEC が主導していた CLI の要求に対する潜在的な解決策でした。
MS、Tandem、DEC、Sybase という新しい SQLC の「ギャング・オブ・フォー」は、1990 年 6 月の次の SAG会議にSQLC の更新版を持ち込んだ 。多くの提案がありましたが、オラクル社だけが真剣な競争をもたらすシステムを持っていました。最終的に、SQLC が投票に勝ち、ドラフト標準になりましたが、API の大部分が削除された後で、標準ドキュメントは 120 ページから 50 ページに削減されました。Call Level Interface という名前が正式に採用されたのもこの時期です。 1995 年、SQL/CLI は国際的な SQL 標準である ISO/IEC 9075-3 の一部になりました。 SAG 自体は 1996 年にX/Openグループに引き継がれ、やがてOpen GroupのCommon Application Environmentの一部になりました。
MS は元の SQLC 標準を引き続き使用し、CLI バージョンから削除された高度な機能の多くを保持しています。これらには、スクロール可能なカーソルやメタデータ情報クエリなどの機能が含まれていました。API のコマンドはグループに分割されました。コア グループは CLI と同じで、レベル 1 の拡張機能はドライバーに簡単に実装できるコマンドで、レベル 2 のコマンドにはカーソルなどのより高度な機能が含まれていました。提案された標準は 1991 年 12 月にリリースされ、業界からの意見が集められ、1992 年までシステムに取り込まれ、ODBCへのさらに別の名前の変更が行われました。
JET と ODBC
この間、Microsoft はJet データベース システムの開発を進めていました。Jet は 3 つの主要なサブシステムを組み合わせました。ISAMベースのデータベース エンジン (紛らわしいことに Jet とも呼ばれます) 、アプリケーションがそのデータにアクセスできるようにする C ベースのインターフェイス、および同じ C インターフェイスが入力と出力をリダイレクトできるようにするドライバーダイナミック リンク ライブラリ(DLL) の選択。 ParadoxやxBaseなど、他の ISAM ベースのデータベース。Jet では、Blueprint と同様の方法で 1 つの呼び出しセットを使用して、共通のマイクロコンピューター データベースにアクセスすることができました。その後、DataLens に名前が変更されました。ただし、Jet は SQL を使用しませんでした。DataLens と同様に、インターフェイスは C であり、データ構造と関数呼び出しで構成されていました。
SAG の標準化への取り組みは、Microsoft が自社の Jet システムを新しい CLI 標準に適合させる機会をもたらしました。これにより、Windows が CLI 開発の主要なプラットフォームになるだけでなく、ユーザーが SQL を使用して Jet と他のデータベースの両方にアクセスできるようになります。欠けていたのは、これらの呼び出しをテキスト形式から Jet で使用される C インターフェイスに変換できる SQL パーサーでした。これを解決するために、MS はPageAhead Softwareと提携して、既存のクエリ プロセッサである SIMBA を使用しました。SIMBA は Jet の C ライブラリのパーサーとして使用され、Jet を SQL データベースに変えました。また、Jet はこれらの C ベースの呼び出しを他のデータベースに転送できるため、SIMBA は他のシステムにクエリを実行することもできました。Microsoft には、スプレッドシート ドキュメントを SQL でアクセス可能なデータベース テーブルに変換する Excel 用のドライバーが含まれています。
リリースと継続的な開発
ODBC 1.0 は 1992 年9月にリリースされました。これの一部は、Jet ベースのスタックを介して呼び出しがたどったパスのために避けられませんでした。SQL データベースへの ODBC 呼び出しは、最初にSimba Technologiesの SQL 方言から Jet の内部 C ベース形式に変換され、次にデータベースの SQL 呼び出しに変換するためにドライバーに渡されました。Digital EquipmentとOracle は、 Simba Technologies と契約を結び、データベース用のドライバーも開発しました。
1993 年頃、OpenLink Software はPROGRESS DBMS用に独自に開発した最初のサードパーティ ODBC ドライバーの 1 つを出荷し、すぐに UDBC (ODBC と SAG/CLI に相当するクロスプラットフォーム API) SDK と関連するUnix ライクな OS ( AIX、HP-UX、Solaris、Linuxなど)、VMS、Windows NT、OS/2、およびその他の OSで使用するための、 PROGRESS 、 Sybase、 Oracle、およびその他の DBMS用のドライバー。
一方、CLI 標準化の取り組みは長引いており、1995 年 3 月まで最終版が完成していませんでした。その時までに、Microsoft はVisigenic Software にWindows 以外のプラットフォームで ODBC を開発するためのソース コードライセンスを付与していました。Visigenic は ODBC を従来の Mac OSやさまざまな Unix プラットフォームに移植し、ODBC はすぐにデファクト スタンダードになりました。今日、「本物の」CLI はほとんどありません。2 つのシステムは類似しており、多くのアプリケーションを ODBC から CLI に移植できます。変更はほとんどまたはまったく必要ありません。
やがて、データベース ベンダーがドライバー インターフェイスを引き継いで、自社製品への直接リンクを提供するようになりました。Jet または同様のラッパーとの間の中間変換をスキップすると、多くの場合、パフォーマンスが向上します。しかし、それまでに Microsoft はOLE DB の概念 (最近復活した )に焦点を移し、アドレス帳からテキスト ファイルまで、さまざまなデータ ソースへの直接アクセスを提供しました。ActiveX Data Objects (ADO) やADO.netなど、ODBC からさらに注意を向けたいくつかの新しいシステムが続きました。これらのシステムは、存続期間にわたって多かれ少なかれ ODBC と対話しました。
Microsoft が ODBC に直接取り組むことから目をそらしたため、Unix 分野はますますそれを受け入れていました。これは、市場内の 2 つの変化によって推進されました。GNOMEのようなグラフィカル ユーザー インターフェイス(GUI)の導入により、これらのソースに非テキスト形式でアクセスする必要が生じたことと、PostgreSQLやMySQLなどのオープン ソフトウェアデータベース システムの出現です。ユニックス。その後、標準の Unix 側のiODBCパッケージMac OS X 10.2 (Jaguar) を使用するために Apple が ODBC を採用した (これは、OpenLink Software が 2001 年以来 Mac OS X 10.0 や Mac OS 9 にさえも独自に提供していた )。クロスプラットフォーム データ アクセスの標準として ODBC をさらに強固なものにしました。
Sun Microsystems は、独自のオープン標準であるJava Database Connectivity (JDBC)の基礎として ODBC システムを使用しました。ほとんどの場合、JDBC はCではなく、プログラミング言語Java用の ODBC のバージョンと見なすことができます。JDBC-to-ODBCブリッジを使用すると、Java ベースのプログラムは、ネイティブ JDBC ドライバーがないプラットフォームで ODBC ドライバーを介してデータ ソースにアクセスできますが、現在は比較的まれです。逆に、ODBC から JDBC へのブリッジにより、C ベースのプログラムは、プラットフォーム上の JDBC ドライバーを介して、または適切な ODBC ドライバーを持たないデータベースからデータ ソースにアクセスできます。
今日のODBC
ODBC は現在も広く使用されており、ほとんどのプラットフォームとほとんどのデータベースでドライバーを利用できます。SQLiteのように、組み込み用のデータベース エンジン用の ODBC ドライバーを見つけることは珍しくありません。これは、既存のツールをこれらのエンジンのフロントエンドとして機能させてテストおよびデバッグできるようにするためのものです。
しかし、 HTML を中間形式として使用するシン クライアントコンピューティングの台頭により、ODBC の必要性は減少しました 。多くの Web 開発プラットフォームには、ターゲット データベースへの直接リンクが含まれています。MySQL は非常に一般的です。これらのシナリオでは、クライアント側から直接アクセスすることも、複数のクライアント ソフトウェア システムをサポートすることもありません。すべてがプログラマ提供の HTML アプリケーションを通過します。ODBC が提供する仮想化はもはや強力な要件ではなく、ODBC の開発は以前ほど積極的ではなくなりました。しかし、ODBC はもはやクライアント サーバー プログラミングの強力な要件ではありませんが、アクセス、仮想化、および分析とデータ サイエンスのシナリオでの統合にとってより重要になっています。これらの新しい要件は、半構造化データと階層データ、Web 認証、およびパフォーマンスの向上などの新しい ODBC 4.0 機能に反映されています。
バージョン履歴
ODBC 仕様
1.0: 1992 年 9 月にリリース
2.0: c. 1994年 2.5 3.0: c. 1995 年、Intersolv の John Goodson と IBM の Frank Pellow と Paul Cotton は、ODBC 3.0 に重要な情報を提供しました。
3.5: c. 1997年
3.8: c. 2009年、Windows 7
4.0: 開発は 2016 年 6 月に発表され、SQL Server 2017 の最初の実装は 2017 年 9 月にリリースされ、追加のデスクトップ ドライバーは 2018 年後半にGithub で最終仕様が公開されました。
デスクトップ データベース ドライバー
1.0 (1993-08): PageAhead Software 製の SIMBA クエリ プロセッサを使用。
2.0 (1994-12): ODBC 2.0 で使用されます。
3.0 (1995-10): Windows 95 および Windows NT Workstation または NT Server 3.51 をサポートします。このリリースには、32 ビット ドライバーのみが含まれていました。
3.5 (1996-10): 2 バイト文字セット (DBCS) をサポートし、ファイル データ ソース名 (DSN) の使用に対応しました。Microsoft Access ドライバーは、Windows 95/98 および Windows NT 3.51 以降のオペレーティング システム用の Alpha プラットフォームで使用するための RISC バージョンでリリースされました。
4.0 (1998 年後半): 以前のバージョンの ANSI 形式との互換性とともに、Microsoft Jet Engine Unicode 形式をサポートします。
ドライバーとマネージャー編集
運転手
ODBC は、デバイス ドライバーモデルに基づいており、ドライバーは、コマンドと関数の標準セットを基になるシステムで必要な特定の呼び出しに変換するために必要なロジックをカプセル化します。たとえば、プリンタ ドライバは、印刷コマンドの標準セットである API を、印刷システムを使用するアプリケーションに提供します。これらの API に対して行われた呼び出しは、ドライバーによって、実際のハードウェアで使用される形式 ( PostScriptやPCL など)に変換されます。
ODBC の場合、ドライバは、いくつかの広範なカテゴリに分類できる多くの機能をカプセル化します。関数の 1 つのセットは、主に、ドライバーが対話する DBMS の検索、接続、および切断に関係しています。2 番目のセットは、SQL コマンドを ODBC システムから DBMS に送信するために使用され、内部でサポートされていないコマンドを変換または解釈します。たとえば、カーソルをサポートしていない DBMS は、ドライバーでこの機能をエミュレートできます。最後に、主に内部で使用される別のコマンド セットを使用して、データを DBMS の内部形式から、C 言語形式に基づく標準化された ODBC 形式のセットに変換します。
ODBC ドライバーは、ODBC 準拠のアプリケーションがデータ ソース(通常は DBMS) を使用できるようにします。ドライバー自体の内部に小さな DBMS を実装することにより、CSVファイルなどのデータ ソース用の非 DBMS ドライバーがいくつか存在します。ODBC ドライバーは、Oracle、PostgreSQL、MySQL、Microsoft SQL Server ( Compact aka CE エディションは対象外)、Sybase ASE、SAP HANA およびIBM Db2を含むほとんどの DBMS 用に存在します。テクノロジによって機能が異なるため、ほとんどの ODBC ドライバーは、ODBC 標準で定義されているすべての機能を実装しているわけではありません。一部のドライバーは、標準で定義されていない追加機能を提供します。
ドライバーマネージャー
通常、デバイス ドライバーは別のマネージャー レイヤーによって列挙、セットアップ、および管理され、追加機能を提供する場合がたとえば、印刷システムには多くの場合、ドライバの上にスプーリング機能を提供する機能が含まれており、サポートされているプリンタに印刷スプーリングを提供します。
ODBC では、Driver Manager (DM) がこれらの機能を提供します。 DM は、インストールされているドライバーを列挙し、これを一覧として (多くの場合、GUI ベースの形式で) 表示できます。
しかし、ODBC システムの操作にとってより重要なのは、DM のデータ ソース名(DSN) の概念です。DSN は、 DBMS 自体ではなく、特定のデータ ソースに接続するために必要な追加情報を収集します。たとえば、同じMySQLドライバーを使用して任意の MySQL サーバーに接続できますが、ローカルのプライベート サーバーに接続するための接続情報は、インターネットでホストされているパブリック サーバーに接続するために必要な情報とは異なります。DSN はこの情報を標準化された形式で保存し、DM は接続要求時にこれをドライバーに提供します。DM には、人が読める名前を使用して DSN のリストを表示し、実行時に DSN を選択してさまざまなリソースに接続する機能も含まれています。
DM には、部分的に完全な DSN を保存する機能も含まれており、実行時に不足している情報をユーザーに尋ねるコードとロジックが含まれています。たとえば、必要なパスワードなしで DSN を作成できます。ODBC アプリケーションがこの DSN を使用して DBMS に接続しようとすると、システムは一時停止し、続行する前にユーザーにパスワードの入力を求めます。これにより、アプリケーション開発者は、この種のコードを作成する必要がなくなり、どの質問をするべきかを知る必要がなくなります。これらはすべて、ドライバーと DSN に含まれています。
ブリッジ構成
ブリッジは特別な種類のドライバーであり、別のドライバーベースのテクノロジを使用するドライバーです。
ODBC-to-JDBC (ODBC-JDBC) ブリッジ
ODBC-JDBC ブリッジは、JDBC ドライバーのサービスを使用してデータベースに接続するODBCドライバーで構成されます。このドライバーは、ODBC 関数呼び出しを JDBC メソッド呼び出しに変換します。プログラマーは通常、一部のデータベース用の ODBC ドライバーがなくても JDBC ドライバーにアクセスできる場合に、このようなブリッジを使用します。例: OpenLink ODBC-JDBC Bridge、SequeLink ODBC-JDBC Bridge。
JDBC-to-ODBC (JDBC-ODBC) ブリッジ
JDBC-ODBC ブリッジは、 ODBC ドライバーを使用してターゲット データベースに接続するJDBC ドライバーで構成されます。このドライバーは、JDBCメソッド呼び出しを ODBC 関数呼び出しに変換します。プログラマーは通常、特定のデータベースに JDBC ドライバーがなく、ODBC ドライバーを介してアクセスできる場合に、このようなブリッジを使用します。Sun Microsystems は、 JVMにそのようなブリッジを 1 つ含めましたが、JDBC ドライバーがほとんど存在しない間の一時しのぎの手段と見なしていました (組み込みの JDBC-ODBC ブリッジは、Java 8 で JVM から削除されました )。Sun は、そのブリッジを実稼働環境で使用することを決して意図しておらず、一般的に使用しないことを推奨しています。2008年現在独立したデータ アクセス ベンダーは、両方のメカニズムの現在の標準をサポートし、JVM ビルトインよりもはるかに優れた JDBC-ODBC ブリッジを提供しています。例: OpenLink JDBC-ODBC Bridge、SequeLink JDBC-ODBC Bridge .
OLE DB から ODBC へのブリッジ
OLE DB-ODBC ブリッジは、ODBC ドライバーのサービスを使用してターゲット データベースに接続するOLE DBプロバイダーで構成されます。このプロバイダーは、OLE DBメソッド呼び出しを ODBC 関数呼び出しに変換します。プログラマは通常、特定のデータベースに OLE DB プロバイダーがなく、ODBC ドライバーを介してアクセスできる場合に、このようなブリッジを使用します。Microsoft は、 MDAC システム コンポーネント バンドルの一部として、MSDASQL.DLL を他のデータベース ドライバと共に出荷し、COM 対応言語 ( Visual Basicなど) での開発を簡素化します。サード パーティもそのような開発を行いました。特に OpenLink ソフトウェアは、Microsoft が最初に 64 ビット OS でこのブリッジを非推奨にしたときに、ODBC データ ソース用の 64 ビット OLE DB プロバイダーがギャップを埋めました。 (Microsoft は後に容赦し、 Windows Server 2008およびWindows Vista SP1以降の 64 ビット Windows には、 64 ビット バージョンの MSDASQL が同梱されています。) 例: OpenLink OLEDB-ODBC Bridge、SequeLink OLEDB-ODBC Bridge。
ADO.NET から ODBC へのブリッジ
ADO.NET-ODBC ブリッジは、ODBC ドライバーのサービスを使用してターゲット データベースに接続するADO.NET プロバイダーで構成されます。このプロバイダーは、ADO.NETメソッド呼び出しを ODBC 関数呼び出しに変換します。プログラマーは通常、特定のデータベースに ADO.NET プロバイダーがなく、ODBC ドライバーを介してアクセスできる場合に、このようなブリッジを使用します。Microsoft は、 C#での開発を簡素化するために、他のデータベース ドライバーと共にMDAC システム コンポーネント バンドルの一部として出荷しています。サードパーティもそのような開発を行っています。例: OpenLink ADO.NET-ODBC Bridge、SequeLink ADO.NET-ODBC Bridge。
こちらもご覧ください
GNU データ アクセス
Java データベース コネクティビティ(JDBC)
Windows オープン サービス アーキテクチャ
ODBC アドミニストレータ
参考文献
参考文献
ガイガー、カイル (1995)。ODBC の内部。マイクロソフトプレス. ISBN 9781556158155.
引用
^ McGlinn, Evan (1988), Blueprint Lets 1-2-3 Access Outside Data” , InfoWorld , vol. 10, no. 14, 4 April 1988, pp. 1, 69 ^次の場所にジャンプ:a b Geiger 1995、p。65. ^ Geiger 1995年、p. 86-87。
^ Geiger 1995年、p. 56. ^ Geiger 1995年、p. 106. ^ Geiger 1995年、p. 165。
^次の場所にジャンプ:a b Geiger 1995、p。186-187。
^ ISO/IEC 9075-3 – 情報技術 – データベース言語 – SQL – パート 3: 呼び出しレベル インターフェイス (SQL/CLI) ^ Geiger 1995年、p. 203。
^ ハリンドラナート、G。Jože Zupančič (2001)。情報システム開発に関する新しい視点: 理論、方法、および実践。スプリンガー。p。451.ISBN _ 978-0-306-47251-0. 2010 年 7 月 28 日閲覧。最初の ODBC ドライバー は、呼び出しを Microsoft Jet ISAM 呼び出しに変換する SIMBA クエリ プロセッサを使用し、呼び出しを適切な ISAM ドライバーにディスパッチしてバックエンドにアクセス
^ 「Linux/UNIX ODBC – ODBCとは?」. ^ 「私たちの歴史」、Simba Technologies
^ Idehen、Kingsley Uyi (1994 年 10月)。「ODBC と進捗 V7.2d」 . Usenet Newsgroup comp.databases . 2013 年12 月 13 日閲覧。
^ Idehen、Kingsley Uyi (1995-07-18)。「DEC OSF/1 用の ODBC/Ingres ドライバーが必要です」 . Usenet Newsgroup comp.databases.oracle . 2013 年12 月 13 日閲覧。
^ Sippl, Roger (1996)「SQL Access Group’s Call-Level Interface」、Dr. Dobbs、1996 年 2 月 1 日 ^ 「ODBC と CLI の類似点と相違点」、InfoSphere Classic 資料、IBM、2008 年 9 月 26 日
^ 「OLE DB と SQL Server: 歴史、エンドゲーム、および Microsoft の「ダート」」 . 2011 年 9 月 25 日。
^ 「OLE DB Driver for SQL Server の新しいリリースの発表」 .
^ アンダーソン、アンドリュー (2003-06-20)。「Jaguar でデータベース接続を開く」 . オライリー MacDevCenter.com。オライリー・メディア社 2013 年12 月 13 日閲覧。
^ 売り手、デニス (2001-07-17)。「Mac OS Classic、Mac OS X 用の ODBC SDK アップデート」 . マックワールド。IDG コンシューマ & SMB . 2013 年12 月 13 日閲覧。
^ Werner, Christian (2018) “SQLite ODBC Driver” アーカイブ2014-06-26 at the Wayback Machine、2018-02-24
^ 「ODBC バージョン」 . Linux/UNIX ODBC . イージーソフト。2009 年 10 月 27 日閲覧。
^ アンタル、ティベリウ・アレクサンドル。「JDBC を使用した Oracle データベースへのアクセス」 (PDF) . クルージュ ナポカ: クルージュ ナポカ工科大学。p。2. 2011 年 7 月 22 日にオリジナル (PDF)からアーカイブ。2009 年 10 月 27 日閲覧。ODBC 1.0 は 1992 年 9 月にリリースされました ^ マイクロソフト社. Microsoft ODBC 3.0 Programmer’s Reference and SDK Guide, Volume 1. Microsoft Press. 1997 年 2 月 ( ISBN 9781572315167 )
^ 「ODBC 3.8 の新機能」 . マイクロソフト。2010 年 1 月 13 日閲覧。Windows 7 には、ODBC の更新バージョンである ODBC 3.8 が含まれています。
^ ルクマンガサン、クリシュナクマール (2016-06-07)。「最新のデータ ストア用の ODBC の新しいリリース」 . Microsoft データ アクセス/SQL BI テクノロジ ブログ。マイクロソフト。2017-01-03閲覧。前回のリリースから 15 年以上経った今、Microsoft は Open Data Base Connectivity (ODBC) 仕様の更新を検討しています。
^ 「デスクトップ データベース ドライバの歴史」 .
^ 「SAP HANA システム プロパティ」 . DB エンジン。2016 年 3 月 28 日閲覧。
^ 「ODBC 経由で SAP HANA に接続する – SAP HANA Studio 向け SAP HANA 開発者ガイド – SAP ライブラリ」 . help.sap.com 。2016 年 3 月 28 日閲覧。
^ サイベース。「ODBC の概要」 . infocenter.sybase.com。サイベース。2011 年10 月 8 日閲覧。
^ 「Java JDBC API」 . docs.oracle.com . 2018 年12 月 18 日閲覧。
^ Microsoft、「Data Access Technologies Road Map」、Deprecated MDAC Components、 Microsoft 「ADO Programmer’s Guide」、付録 A: Providers、Microsoft OLE DB Provider for ODBC、2005 年 7 月 30 日取得。2001年 10 月 5 日、 Wayback Machineでアーカイブ
外部リンク
Microsoft ODBC の概要
IBM i ODBC 管理
www.roth.net のプレゼンテーション スライド
Microsoft ODBC およびデータ アクセス API の履歴記事。
Github ページ: Microsoft ODBC 4.0 仕様 ·