« 夜景 | メイン | XPS M1210 を買った!! »

開発日記 α 1.1

前回の続きです。

今回は VBScript で SQL Server に接続して、SELECT文を投げて結果を取得するところまで。

これも簡単ですね、私は OLE DB の方が ODBC よりも好きなのでいつも以下のような感じで SQL Server に接続しています。

Set objAdo = Server.CreateObject("ADODB.Connection")
objAdo.ConnectionString = "Provider=SQLOLEDB;" & _
"User ID=<ユーザー名>;" & _
"Password=<パスワード>;" & _
"Data Source=<接続先のホスト名(もしくはIPアドレス)>;" & _
"Initial Catalog=<接続するDB>"
objAdo.Open

が、今回は Windows統合認証 を使ってアクセスしたいので、上記のような SQL SERVER のアカウントを使っているタイプの ConnectionString は使えません。

っということで、接続文字列は以下のような感じにしました。

objAdo.ConnectionString = "Provider=SQLOLEDB;Integrated Security=SSPI;Initial Catalog=<接続するDB>;Data Source=(local)"

Integrated Security=SSPIと言う部分で Windows統合認証を有効にしています。

これで、DBへの接続は問題なく出来たので、後は SELECT文を投げて結果が取得できれば問題ないのですが、ここでまた躓きました。

VBScript で文字列を出力する方法が分からない・・・

あきれてしまいますが、ASP の場合には Response.Write で出力できますが、VBS の場合にはどうすればいいのか分かりません。
Echo とか Print みたいな関数が無いんですよね・・・
MsgBox と言う関数がありますが、これはダイアログボックスを表示する関数なのでちょっと違いますよね・・・

初めて知ったんですが、こういう場合には

WScript.Echo "<文字列>"

とすれば良いようです。

と言うことで全体的には以下のような感じのスクリプトになりました。

' DBへ接続
Set objAdo = CreateObject("ADODB.Connection")
objAdo.ConnectionString = "Provider=SQLOLEDB;Integrated Security=SSPI;Initial Catalog=TblName;Data Source=(local)"
objAdo.Open

' レコードセットを取得
Set objRS = objAdo.Execute("SELECT itemName FROM TblName")

do until objRS.eof
' 結果を出力
WScript.Echo objRS("itemName")
objRS.movenext
loop

objRS.Close
objAdo.Close

これを db.vbs として保存してコマンドラインから実行してみました。

cscript db.vbs

きちんと結果が返ってきたのでテスト完了です!!

次回は、テーブルなどを作成し、実際に動かすスクリプトを組んで行きたいと思います。



よろしければ投票をお願いします!
人気blogランキング 人気ブログランキング・ブログ検索:ランブロ

Amazon の関連商品

トラックバック

このエントリーのトラックバックURL:
http://www.grimonet.com/sys/mt/mt-tb.cgi/307

スパム対策のためトラックバックが正常反映されない場合があります
トラックバックが反映されない等の問題が発生した場合には、下記のフォームからコメントをお願いします。

コメントする


画像の中に見える文字を入力してください。


動画配信・音源配信・ポッドキャスティング etc…
大容量レンタルサーバーで本格的な情報発信を!
容量3GB、月額1500円 レンタルサーバーは ヘテムル

アーカイブ

フィードを取得

 RSSリーダーで購読する

お使いのリーダーに追加してください!!
最新の情報をお届けします!!

フィードメーター - INOLOG Ver.2

最近のコメント