LoginSignup
5
5

More than 1 year has passed since last update.

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

Posted at

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を経由してアクセスする。

イメージ図です。
ado-oledb.png

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

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から暗号化がデフォルトで有効になりました。接続に証明書を利用するか、暗号化を明示的に無効にする必要があります。
メジャーバージョンの相違点

以上

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5