WSHでSQL

サンプルプログラム

ADO経由でDBにSQLを発行し、結果をCSVファイルに保存するVBScriptのサンプルです。2〜6行目を各々の環境・目的に合わせて書き変えてください。

尚、下記スクリプトでは、"(ダブルクォーテーション)を含むデータは対応しておりません。

'ADOの接続文字列

const strCon = "ODBC;DATABASE=mydb1;UID=user1;PWD=pass1;DSN=mydb;"
'SQL文
const strSql = "SELECT * FROM table1 WHERE type='A1' ORDER BY 1"
'結果を保存するCSVファイル名
const strCsv = "result.csv"

dim conn,rs,fs,ocf,i

MsgBox "SQL実行:" & vbNewLine & strSql

Set conn = CreateObject("ADODB.Connection")
conn.Open strCon
Set rs = CreateObject("ADODB.Recordset")
rs.Open strSql, conn, 0, 1

Set fs = WScript.CreateObject("Scripting.FileSystemObject")
Set ocf = fs.CreateTextFile(strCsv,True)

'ヘッダを書き出し
For i=0 to rs.Fields.Count - 1
    if i > 0 Then ocf.Write ","

    ocf.Write chr(34) & rs.Fields(i).Name & chr(34)
Next
ocf.Write vbNewLine

'問合せ結果を書き出し
While not rs.eof
    For i=0 to rs.Fields.Count - 1
        if i > 0 Then ocf.Write ","
        ocf.Write chr(34) & rs.Fields(i).Value & chr(34)
    Next
    ocf.Write vbNewLine
    rs.movenext
Wend
 
ocf.Close
rs.close
set rs=nothing
conn.close
Set conn=nothing

MsgBox "書き出し完了しました。"


[TOPページへ]

Copyright (C) 2008 Hirpy.