Recordset の永続化

Microsoft OLE DB Persistence Provider は、Recordset オブジェクトの Save メソッドを使用したファイルへの Recordset オブジェクトの格納をサポートします。永続的に保存されたファイルは、ローカル ドライブ上、ネットワーク サーバー上、または Web サイト上に URL として存在することになります。この永続化されたファイルは、Recordset オブジェクトの Open メソッドまたは Connection オブジェクトの Execute メソッドのどちらかを使用して、後で復元できます。

さらに、GetString メソッドは、ユーザーがレコードを取り出すときに、ユーザーが指定した文字で区切られた列と行の形式へ、Recordset オブジェクトを変換します。

Recordset を永続化するには、まず、ファイルに格納できる形式に変換します。Recordset オブジェクトは、Microsoft の ADTG (Advanced Data TableGram) 形式、または公開されている XML (Extensible Markup Language) 形式で保存することができます。

注意   階層 Recordsets (データ シェイプ) を XML 形式で保存するときは、2 つの制限事項があります。階層 Recordset に保留中の更新が含まれている場合は XML で保存できません。また、パラメータ化された階層 Recordset を保存することはできません。

次に、保留中の変更を、永続化されたファイルに保存します。この操作によって、Recordset オブジェクトを返すクエリの発行、レコードセットの編集、レコードセットおよび保留中の変更の保存、後でのレコードセットの復元、保存されている保留中の変更を使ったデータ ソースの更新などが可能になります。

Stream オブジェクトを永続的に保存する方法については、「ストリームと永続性」を参照してください。

Recordset の永続化の例については、「XML Recordset の永続化のシナリオ」を参照してください。

Recordset の保存

Dim rs as New ADODB.Recordset
rs.Save "c:\yourFile.adtg", adPersistADTG

Recordset.Open を使用して永続化ファイルを開く

Dim rs as New ADODB.Recordset
rs.Open "c:\yourFile.adtg", "Provider=MSPersist",,,adCmdFile

必要に応じて、Recordset がアクティブな接続を持たない場合、次のように記述してすべての既定値を受け入れるようにします。

Dim rs as New ADODB.Recordset
rs.Open "c:\yourFile.adtg"

Connection.Execute を使用して永続化ファイルを開く

Dim conn as New ADODB.Connection
Dim rs as ADODB.Recordset
conn.Open "Provider=MSPersist"
Set rs = conn.execute("c:\yourFile.adtg")

RDS.DataControl を使用して永続化ファイルを開く

この場合、Server プロパティは設定されません。

Dim dc as New RDS.DataControl
dc.Connect = "Provider=MSPersist"
dc.SQL = "c:\yourFile.adtg"
dc.Refresh