SQLServerの接続方法を整理(OLEDB/ODBC)

システム開発全般

SQLServerへ接続する方法は形式、バージョンが複数あります。
Webで検索しても2022年現在では非推奨となっている方法の記事も多く見つかり、名前も似ているのでややこしいので整理してみました。

前提知識

基礎的な用語の説明です。
■ODBC (Open Database Connectivity)
データベース操作対象とした業界標準のAPI仕様。
DBにアクセするにはODBCドライバーが必要となる。

■OLE DB
COM(Component Object Model)を利用してデータ操作を行うための仕組み。データベース以外にもWebページ、Office文書などへのアクセスも考慮した汎用的な仕組みで 「OLEDB Provider」を介してデータにアクセスする。

■ADO (ActiveX Data Objects)
OLE DBの上位に位置するAPIレイヤー。
内部的にはODBCドライバー、OLEDB Providerを経由してアクセスする。

イメージ図です。

プロバイダ、ドライバーの種類

ODBCドライバーには以下のようなものがあります。

名称内容
SQL Server Native Client旧形式。現在では非推奨
Microsoft ODBC Driver for SQL Server新形式

OLEDBには以下のようなものがあります。

名称内容
SQL Server Native Client
(SQLNCLI)
旧形式。現在では非推奨
Microsoft OLE DB Provider for SQL Server
(SQLOLEDB)
旧形式。現在では非推奨
Microsoft OLE DB Driver for SQL Server
(MSOLEDBSQL)
新形式

補足情報

・「Microsoft OLE DB Driver for SQL Server」は一度非推奨になりましたが2018年に非推奨が取り消しとなりました。
Announcing the new release of OLE DB Driver for SQL Server

・「Microsoft OLE DB Driver for SQL Server」のVer19から暗号化がデフォルトで有効になりました。接続に証明書を利用するか、暗号化を明示的に無効にする必要があります。
メジャーバージョンの相違点

以上

タイトルとURLをコピーしました