ODBCは、実行時に使用するデータベースシステムを指定または認識しなくてもアプリケーションを記述できるようにする、データアクセスAPIです。つまり、ODBCは、データベースへのアクセスの詳細からアプリケーションを保護します。
ODBCのリリース履歴は次のとおりです。
バージョン | リリース済み | 説明 |
---|---|---|
1.0 | 1993 | ODBCの最初のバージョン。 (Windowsでは)まだ少数のODBC 1.0アプリケーションとドライバーしか存在せず、Linuxでは何もわかりません。 |
2.0 | 1994 | APIの小さな再編成(例:新しいSQLBindParameter SQLSetParam を置き換える )コア、レベル1および2の適合性の変更、新しいデータ型。 ODBC2.0アプリケーションとドライバーはまだたくさんあります。 Linuxでは、ほとんどのODBCドライバーはODBC 3であり、まだODBC2.0であるいくつかは一般的に3に移行しています。 ODBC2.5もありました。 |
3.0 | 1995 | ODBC 3.0では、多数の新しいAPIとODBC記述子ハンドルが導入されました。 Linux上のほとんどのODBCドライバーは現在ODBC3.xであり、多くのアプリケーションも3.xです。 |
3.5x | 1997 | Unicodeの紹介。 |
3.8x | 2009 | ドライバー対応の接続プーリング。これにより、ODBCドライバーは、ユーザーの接続設定に基づいて、プールからの接続を再利用するコストをより適切に見積もることができます。 非同期接続操作。これにより、アプリケーションは起動時にプール内の複数の接続にデータを入力できるため、後続の接続要求をより効率的に処理できます。 ドライバー固有のCデータ型。これは、既存のC型では正しく表されない新しいDBMSデータ型をサポートするのに役立ちます。バージョン3.8より前では、ODBCドライバーはSQL_C_BINARYなどの汎用型を使用してDBMS固有の型を処理する必要があり、アプリケーションはこれを再構築する必要がありました。 ストリーミングされた出力パラメーター。これにより、アプリケーションは小さなバッファーでSQLGetDataを複数回呼び出して、大きなパラメーター値を取得できるようになり、アプリケーションのメモリーフットプリントが削減されます。 (Cサンプルセクションで、ストリーミング出力パラメーターのSQL Server固有の例を提供します。) |
Microsoftは最近、ODBC 4.0に取り組んでいることを発表しました。これは、1997年以来のODBC仕様の最初の重要な更新です。ODBC4.0は、最新のデータストアの要件に対応することを目的としています。たとえば、階層構造のデータや、Web認証を使用してアクセスを制御するデータソース。
ODBC4.0に含まれる主な新機能は次のとおりです。
機能 | 説明 |
---|---|
プライベートドライバー | 特定のアプリケーションにのみ表示されるODBCドライバー。プライベートドライバーは、システム全体のODBCデータソースアドミニストレーターアプリケーションでは公開されません。 |
追加のSQLエスケープ句による言語拡張 | ODBCエスケープ句は、アプリケーションがSQL-92の一部ではない構造を使用するためのDBMSに依存しない方法を提供します。たとえば、外部結合、関数の実行、日時リテラルなどです。 ODBC 4.oは、limit句などの追加のSQL構造や、挿入、更新、または削除された値の選択などのSQLの他の拡張機能をカバーする新しいエスケープシーケンスを提供します。 |
半構造化データ:スキーマが定義されていないか、行ごとに変更される可能性のあるテーブル | スキーマは、JSON、XML、CSVドキュメントなどのスキーマのないソースから推測して、データの標準的なリレーショナルビューを公開できます。 |
階層データ:ネストされた構造(構造化フィールド、リスト)を持つデータ | ODBC 4.xを要求するアプリケーションでは、行、コレクション、および型指定されていないデータ値を含む階層構造のデータのより忠実な表現が表示される場合があります。 |
Web認証 | ODBC API SQLDriverConnect OAuth などのWeb認証メカニズムの要件と互換性があるように変更されました 。たとえば、SQLDriverConnect を使用することが可能になります 最初に有効期間が制限されたアクセストークンを提供し、次に更新トークンを使用してセッションの期間を延長します。 |