概要:
複数ファイルに格納されているコード群を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