VBScriptで データベース に接続して CSV出力


データベース から数値を抽出して CSV出力 したいというご相談をいただき、
今回はVBScriptで実装しました。
細かい説明は省きますが、参考までにコードの一部をご紹介します。

データベース に接続

まずは接続します。今回接続するのは「Microsoft SQL Server 」です

Dim objADO
Dim srvName, dbName, loginName, loginPass

srvName = "サーバー名 or IPアドレス"
dbName = " データベース名"
loginName = "ログインユーザー名"
loginPass = "パスワード"

'ADOを使いSQL ServerのDBを開く
Set objADO = CreateObject("ADODB.Connection")
objADO.Open "Driver={SQL Server};" & _
            "server=" & srvName & "; database=" & dbName & "; uid=" & loginName & "; pwd=" & loginPass & ";"

SQLを実行

接続したらSQLを実行します。

Dim query

query = "実行したいSELECT文"

Set objRS = objADO.Execute("" & query & "")
CSV ファイルを生成

今回は実行する.vbsファイルと同じフォルダに生成します。

Dim objFS
Dim folderName, fileName

Set objFS = CreateObject("Scripting.FileSystemObject")
folderName = objFS.GetParentFolderName(WScript.ScriptFullName)
fileName = folderName & "\出力したいファイル名.csv"
objFS.CreateTextFile fileName, True

結果をファイルに書き込みます。

With objFS.OpenTextFile(fileName,2,True)
    On Error Resume Next
      .WriteLine "ヘッダー項目をカンマで区切って入力"
	'SELECT文の結果が複数の場合、ループする
    Do Until objRS.Eof = True
      .WriteLine "" & objRS("SELECT文で取得した項目①") & "," & objRS("項目②") & "," & objRS("項目③") & ""
    objRS.MoveNext
    Loop
End With
接続、参照を解除

データベース との接続を閉じたり、
オブジェクトへの参照を解除したり…

objADO.Close
Set objFS = Nothing
Set objADO = Nothing
Set objRS = Nothing

詳細な説明は省きましたが、大まかな流れはこんな感じです。


サイズも小さく辞書代わりに手軽に使えます。
VBScriptを使い始めて割と最初の頃に購入しました。
直ぐに使えるサンプルも充実していて、初心者の方にもオススメです。
[改訂版] VBScriptポケットリファレンス (POCKET REFERENCE)

自己紹介

松田 大と申しますm(_ _)m
インディーズでミュージシャンをやっていたのですがいつのまにか…

とある企業でショップのアルバイトスタッフから正社員、支店長を経てシステム部門に異動するという、開発担当としては変わった経緯を持っている方だと思います。

「Excel VBA」からスタートして、Yamaha RTX シリーズで VPN環境構築、Hyper-V環境構築、Windowsアプリ開発などを経験した後、「 WordPress 」に出会い、どっぷりハマっています。

現在勤めているETBS合同会社では、「 WordPress 」を活用したWEBサイト、業務用WEBアプリケーション開発を中心に、記事の執筆代行や掲載に必要な情報のリサーチ、映像のテロップ入れや切りはりなどの簡単な動画編集なども、まとめて行なっています。

現在、代表兼二児のパパ。子育てを通じて、こどもたちにもプログラミングの楽しさに触れてほしいと思うようになり、「 こどもICTかつしか教室 」を開講中。最近は童心に帰り、簡単なゲーム制作なんかも楽しんでいます(^_^)。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

ビジュアルプログラミング オンライン無料体験レッスン モニター大募集
こどもICTかつしか教室 | 幼稚園年長 小学生 中学生 スクラッチ ビジュアルプログラミング
WordPress で困ったら? | 必要なときに必要な分だけ、お助けサポート
WordPress / PHP なんでも相談OK