VBS:SQLServerバッチ処理

概要:
複数ファイルに格納されているコード群をSQLServerからデータ取得後、ファイル毎に出力

流れ:
引数で渡されたコードファイルを順次開く
コードを取り出してSQL生成
SQL実行後、結果をTAB区切りで出力

Set oParam = WScript.Arguments

Set ObjConn = CreateObject("ADODB.Connection")
ObjConn.Open ("Provider=SQLOLEDB;Data Source=ZZZZZ;Initial Catalog=AAAAA;Integrated Security=SSPI;")
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objRc = CreateObject("ADODB.Recordset")

wkIN = "\\bbbbb\"
wkOUT = "\\ccccc\"

SQL = "Select * FROM xxxxxx where [ROW_ID] = '"

For idx = 0 To oParam.Count - 1 
	FNAME = oParam(idx)
	Set objOUTF = objFso.CreateTextFile(wkOUT & "OUT_" & FNAME, True, True )
	Set objINF = objFso.OpenTextFile(wkIN & FNAME, 1, False)

	If Err.Number <= 0 Then
		'header
		objOUTF.WriteLine("HEADER	tab	tab")
		cntRec = 0

		Do Until objINF.AtEndOfStream
			wkREC = trim(objINF.ReadLine)
			objRc.Open SQL & wkREC & "';", ObjConn

			If not objRc.EOF then

				Buffer = ""
				For i = 0 to objRc.Fields.Count - 1
					wkFLD = objRc.Fields(i).Value
					If not IsNull(wkFLD) then wkFLD = Replace(wkFLD, vbtab, " ")
					Buffer = Buffer & wkFLD & vbtab
				Next
				objOUTF.WriteLine(Buffer)
				cntRec = cntRec + 1
			END If
			objRc.Close
		Loop
	End If

	objINF.Close
	objOUTF.Close
Next

Set ObjConn = Nothing
Set objFso = Nothing
Set objRc = Nothing