プログラムからDBを使う方法

アプリケーションがDBへアクセスするには、言語や実行環境に応じた接続インターフェースを使います。ここでは代表方式を実務観点で整理します。

全体像

方式主な利用環境位置づけ
ODBCC/C++、各種ツール汎用的な標準接続API
JDBCJavaJava標準のDB接続API
OLE DBWindows COM系Microsoft系データアクセス技術
ADO.NET.NET (C# など).NET標準のデータアクセス層
ORM各言語オブジェクト中心でDBを扱う抽象化層

ODBC

ODBC(Open Database Connectivity)は、異なるDB製品へ共通APIで接続するための標準です。 質問にある「ODB」は通常 ODBC を指すケースが多いです。

JDBC

JDBC(Java Database Connectivity)は Java の標準DB接続APIです。Java業務システムでは事実上の標準です。

Connection conn = DriverManager.getConnection(url, user, pass);
PreparedStatement ps = conn.prepareStatement("SELECT * FROM 顧客 WHERE 顧客ID = ?");
ps.setLong(1, 1001L);
ResultSet rs = ps.executeQuery();

OLE DB

OLE DB は COM ベースのデータアクセス技術で、Windows環境で使われてきました。現在の新規開発では ODBC や ADO.NET に寄せることが多いです。

ADO.NET

.NET の標準データアクセス方式です。Provider(SqlClient, Npgsql, MySqlConnector など)経由でDBへ接続します。

ORM / クエリビルダ

ORM はテーブルをオブジェクトとして扱えるようにする層です。

カテゴリ代表例用途
Java ORMJPA / Hibernate, MyBatis業務アプリの永続化
.NET ORMEntity Framework Core, Dapper.NET業務アプリ
Node/Python等Prisma, SQLAlchemy, TypeORMWebバックエンド開発

便利ですが、複雑SQLや性能問題時は生SQLと使い分けるのが実務的です。

その他の接続方式

選び方

  1. 言語標準(JavaならJDBC、.NETならADO.NET)を第一候補にする
  2. 生産性向上が必要ならORMを併用する
  3. 性能要件が厳しい処理は生SQLへ切り替える
  4. 接続プール、タイムアウト、リトライ、監視を最初から設計に入れる

接続方式の選定は「宗教」ではなく要件判断です。標準API + ORM + 生SQLの使い分けが現実解になりやすいです。