VBSでDBに接続してみた

VBSの限界に挑戦中です。仕事だよ、仕事。


テキストで平書きして、拡張子を.vbsに変えるだけであら不思議DBに接続できます的なものを
目指してみた。
が、意外とめんどくさいことに。


・ADO接続子について
DBをどこに接続するか、そのUIDとPWDは何か、インストール済みドライバは何か等で
色々条件が変わるためその辺は厳密に定義する必要があります。


インストール済みドライバとかリストにして検索できればエラー処理に回せるのですが
その辺までは手が回りませんでした。


また使用するプロバイダやドライバによって、後続の接続子が変わるので調べる場合は
フォルダ右クリック「新規作成」→「テキストファイル」で空っぽのファイルを作り
.udlという拡張子に変えるとデータリンクファイルになるため、それをWクリックし
出てくるダイアログから使用するプロバイダからUIDやPWDを入力して「OK」ボタンを押し
再度データリンクファイルをテキストエディタで開くと接続子が完成しています。


というわけで以下サンプルコード。環境は同一PCにOracle Express 10gを入れてそこに接続する場合。 sqlplus USER/PASS で接続できるような環境。


Const constr = "Driver{Oracle XE};UID=USER;PWD=PASS"

Dim adoCon
Dim adoRec
Dim field
Dim tmpstr

Set adoCon = CreateObject("ADODB.Connection")

adoCon.Open constr

Set adoRec = adoCon.Execute("Select * from TEST_TABLE")


Do While adoRec.EOF = False

	For Each field In adoRec.Fileds
		
		tmpstr = tmpstr & field.value & ","

	Next
	
	Wscript.Echo tmpstr
	
	adoRec.Nextmove

Loop

adoCon.Close

Set adoCon = Nothing
Set adoRec = Nothing