この特集のトップページへ
>
Appendix A:ADOコンポーネントによるデータベースアクセス
A.2 データベースへの接続と切断
最初に,データベースに接続する方法と,接続を切断する方法について説明する。データベースと接続するには,ADODB.Connectionオブジェクトを用いる。
その一連の流れは,次のようになる。
1)ADODB.Connectionオブジェクトを実体化する
はじめに,次のようにしてADODB.Connectionオブジェクトを実体化する。
Dim objCon As ADODB.Connection
Set objCon = CreateObject("ADODB.Connection")
ここでは,ADODB.Connectionオブジェクトを格納する変数名をobjConとしたが,もちろんほかの名前でもかまわない。
2)Openメソッドを呼び出してデータベースと接続する
次に,ADODB.ConnectionオブジェクトのOpenメソッドを使ってデータベースに接続する。
objCon.Open ConnectionString, UserID, _
Password, Options
各引数の意味は,次のとおりである。
- ○ConnectionString
- データベースの接続情報を示す文字列。接続情報を示す文字列が事前にADODB.ConnectionオブジェクトのConnectionStringプロパティに設定してあれば,省略可能である。
この文字列の値はデータベースエンジンの種類によって異なる。詳細は,ADOのオンラインヘルプを参照してもらうことにして,ここではAccessのMDBファイル(Jetエンジン),ODBCデータベース,SQL Serverと接続する方法についてのみ説明する。
MDBファイルと接続する場合には,次の書式の文字列を指定する。
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MDBファイル名;
※古いJetエンジンバージョン3.51を使う場合には,“Provider=Microsoft.Jet.OLEDB.3.51”とする。
ODBCデータソースと接続する場合には,次の書式の文字列を指定する。
DSN=システムデータソース名;UID=ユーザー名;PWD=パスワード;
※UID=ユーザー名;,PWD=パスワード;は省略可能
SQL Server(もしくは,その完全互換製品であるMSDE(Microsoft Database Engine))と接続する場合には,次の書式の文字列を指定する。
Driver=SQL Server;Server=サーバー名;UID=ユーザー名;PWD=パスワード;Database=デフォルトデータベース名;
※UID=ユーザー名;,PWD=パスワード;,Database=デフォルトデータベース名;は省略可能。ローカルのサーバーに接続するときには,“Server=(local);”と指定する。 - ○UserID
- 接続するユーザー名を指定する。省略可能。
- ○Password
- データベースに接続する際に用いるパスワードを指定する。省略可能。
- ○Options
- 同期接続が非同期接続かを指定する。同期接続の場合にはadConnectUnspecified定数,非同期接続の場合にはadAsyncConnect定数を指定する。省略可能で,省略した場合には同期接続とみなされる。非同期通信時には,データベースのアクセスが完了すると,データベース処理を待たずに次の処理(次の行に書かれた文)に移行し,処理が完了したら特定のイベントが発生する,という処理を実現できるようになる。ただし,本連載では非同期接続は使わないことにする。
3)必要なデータベース処理を実行する
2)の手順によって,すでにデータベースに接続されているので,データベーステーブルの操作など,必要な処理を実行する。具体的な処理の実装方法については,次節で説明する。
4)Closeメソッドでデータベースを切断する
データベースの操作が終わったら,ADODB.ConnectionオブジェクトのCloseメソッドを呼び出して,データベースを切断する。
objCon.Close
5)ADODB.Connectionオブジェクトを解放する
最後に,利用していたADODB.Connectionオブジェクトを解放する。ADODB.Connectionオブジェクトを解放するには,ADODB.Connectionオブジェクトを保持していた変数にNothingを代入する。
Set objCon = Nothing
Appendix A 3/6 | ||
本文のトップへ | Appendix Aのトップへ |