@IT会議室は、ITエンジニアに特化した質問・回答コミュニティ「QA@IT」に生まれ変わりました。ぜひご利用ください。
- PR -

VBS内で実行したSQLコマンドの値を取得

1
投稿者投稿内容
Daisuke
会議室デビュー日: 2008/02/13
投稿数: 7
投稿日時: 2008-02-22 17:24
いつも参考にしております。

現在VBScriptでSQLコマンドを実行し取得した値を変数としてスクリプト内で使用する手段をご存知の方教えてください。

具体的には、下記のようなDBからSQLコマンド SELECT文を使って取得した値を変数として使用したいのです。

Number  Value
------ -------
1 AAA
2 BBB
3 CCC

* Select文でValueを取得して、AAA,BBB,CCCを変数として取得してVBS内で使用したい。

現在、
@sqlコマンドの実行結果でログファイルを作成し
Aそのログファイル内にAAA,BBB,CCCを記述するよう
BログファイルをreadLineで読み込んで値を取得
という風にやっているます。

ログファイルを作成せずに値を取得する方法を知っている方がいましたら、ご教授ください。よろしくお願いいたします。

ノラ
常連さん
会議室デビュー日: 2003/11/06
投稿数: 37
お住まい・勤務地: 東京都
投稿日時: 2008-02-22 19:10
こんな感じではだめですか?
dim cn
dim rst
dim i
dim s
Dim fs, A
Set fs = CreateObject("Scripting.FileSystemObject")
Set A = fs.CreateTextFile("C:kkk.txt", True)
set cn = createobject("ADODB.Connection")
cn.connectionstring="provider=sqloledb;database=(local);user id=sa;password=xxxx;initial catalog=pubs"
cn.open

set rst = cn.execute("select * from authors")
do until rst.eof
s= ""
for i=0 to rst.fields.count - 1
s = s & rst.fields(i).value & ","
next
s = mid( s,1,len(s)-1)
A.WriteLine (s)
rst.movenext
loop

A.Close
set fs = nothing
rst.close:set rst=nothing
cn.close:set cn=nothing
OakBow
ベテラン
会議室デビュー日: 2007/09/15
投稿数: 51
投稿日時: 2008-02-23 13:43
VBSから直にMSSQLに接続する方法は普通に存在するので、それをやればいいだけの
話じゃないでしょうか。
WSHでADO使えば、ASP(クラシックASP)とほとんど同じノリでデータアクセスが
可能です。

ASP(クラシックASP)はIIS上で動作するスクリプトですが、データアクセスに
関する部分はほぼ丸ごと参考にできる(コピペできる)ので、そのあたりを調べて
みると近道かもしれません。
ASP組み込みオブジェクトであるServerオブジェクトとかResponseオブジェクト
とかはもちろん使えないので、WSHで使えるオブジェクトあたりで代用する
必要はありますけどね。

「WSH ADO」あたりで検索するとサンプルの載っているサイト出てきますし、
ASPでのデータアクセスの例は無数に存在するので、そのあたり調べてみれば
かなりのことができるってことが分かると思いますよ。
1

スキルアップ/キャリアアップ(JOB@IT)