気の向くままに辿るIT/ICT/IoT
SQL用API

データベース接続

ホーム前へ次へ
データベース接続

データベース接続

データベース接続とは

 ウェブシステムやクライアントサーバーシステム上でプログラミング言語からRDBサーバに接続するためにプログラミング言語とRDBをサポートしたデータベース接続インタフェースが必要となります。

データベース接続用ライブラリやAPI

 この内、RDBごと、または汎用のSQLをサポートしているデータベース接続インタフェースには下記のようなものがあります。

インタフェース言語DB/RDB備考
Pro*CCOracle開発元:Oracle
ESQL/CCSQL ServerPro*Cと酷似
SQLJJavaOracle開発元:Sun Microsystems
oo4oVB/VC#/VC++Oracle開発元:Oracle
DAOVBA/VB/VC++汎用開発元:Microsoft
ADO/ADO.NETVBA/VB/VC#/VC++汎用開発元:Microsoft
ODBCVC#/VC++汎用開発元:Microsoft
技術公開により標準化
JDBCJava汎用ODBCの派生
ODBC経由での接続も可
開発元:Sun Microsystems
OLE DB汎用汎用開発元:Microsoft
COM/Component Object Modelにより実装されたAPI
RDB以外の表計算やテキストなど多くに対応

 更にデータベース接続は、その方法から主に動的SQLタイプと埋め込みSQLタイプの2つのタイプがあります。

タイプインタフェース
動的SQLDAO
ADO
ODBC
JDBC
oo4o
OLE DB
埋め込みSQLPro*C
ESQL/C
SQLJ
その他SQLPL/SQL(Oracle)
Transact-SQL(Microsoft)

 動的SQLとは、プログラミング言語において他のプログラム同様に一連のソース内にプログラミング言語の構文を使ってSQL文を一緒に記述できるようにするタイプです。

 埋め込みSQLとは、プログラミング言語のソースファイルとは別に埋め込みSQLの構文に沿って個別にファイルを作成し、それぞれ専用のコマンド(プリコンパイラ)によって事前にコンパイル(プリコンパイル)することで使用するプログラミング言語に応じたソースファイルに変換した後、各プログラミング言語用のコンパイラでコンパイルすることにより一連のソースに埋め込むタイプを指します。

 一見すると「埋め込み」というフレーズが紛らわしく感じるかもしれませんが、「別個のものを後から埋め込む」という意味合いです。

 ここで「その他SQL」としたものは、動的SQLと埋め込みSQLの双方の機能を取り込んだようなタイプを想定していますが、それらのタイプには賛否両論あるようです。

 ローカル環境のMS社製AceessにはJet Database Engineがあり、DAOはローカルアクセスにおいてはJetを経由しています。

 ちなみにCORBA『Common Object Request Broker Architecture』(通称コルバ)のようにC/S上でクライアントサーバ間でORB/Object Request Brokerを介して複数のクライアントからのリクエスト(要求)をコントロールした上でRDB接続を行う事ができるものがあります。

 CORBAを利用する場合には、IDLという言語でインタフェースを定義、専用のコンパイラでコンパイルし、ラッパとなるドライバとスタブを生成します。

 但し、CORBAはSQLをサポートしているわけではないのでORBを利用できる環境で前述の各種データベース接続と併用する必要があります。

ホーム前へ次へ