2016年5月23日月曜日

ADODBでMDBファイルのテーブル名一覧を取得する

本当は任意のテーブル名の有無を判定する方法が知りたかったんだけど、分からなかったのでテーブル名一覧を取得する方法を選択した。
REFERENCEタグを使うと定数も利用できるらしい。


コチラを参考にさせていただきました。
<JOB>
<REFERENCE object="ADODB.Connection" />
<SCRIPT>
fs = new ActiveXObject('Scripting.FileSystemObject')
pathMDB = fs.GetFile('Database.mdb').path
// ファイルを開く
cn = new ActiveXObject('ADODB.Connection')
cn.Open("provider=Microsoft.Jet.OLEDB.4.0;Data Source="+pathMDB)
// テーブル一覧のレコードセット
rs = cn.OpenSchema(adSchemaTables)
str = 'フィールド一覧\n'
for(i=0,L=rs.Fields.count; i<L ;i++){
str += rs.Fields(i).Name + '\n'
}
str += '\n'
str += 'テーブル一覧\n'
for(; !rs.EOF ;rs.MoveNext()){
str += rs.Fields('TABLE_NAME').Value + '\n'
}
str += '\n'
rs = cn.OpenSchema(adSchemaTables, [null, null, null, "VIEW"])
str += 'ビューのみのテーブル一覧\n'
for(; !rs.EOF ;rs.MoveNext()){
str += rs.Fields('TABLE_NAME').Value + '\n'
}
WScript.Echo(str)
rs.Close()
cn.Close()
</SCRIPT>
</JOB>

0 件のコメント:

コメントを投稿