2010年11月10日星期三

Windows Script勉強の5 高級3-SQLPlusでSQLを実行

'ORACLE11gでテストOK。

'-----はじまり
WScript.Echo "はじまり"
WScript.Echo "=================================="
Dim wsh
Dim sqlplus
Dim strStdOut
'SHELLを作成
Set wsh = CreateObject( "WScript.Shell" )
WScript.Echo "SQLPLUSを起動"
Set sqlplus = wsh.Exec( "SQLPLUS.EXE -S /NOLOG" )
WScript.Echo "SQLPLUSに初期設定"
sqlplus.StdIn.WriteLine( "SET PAGES 0" )
sqlplus.StdIn.WriteLine( "SET FEEDBACK OFF" )
sqlplus.StdIn.WriteLine( "WHENEVER SQLERROR EXIT SQL.SQLCODE ROLLBACK" )
WScript.Echo "DBに接続"
sqlplus.StdIn.WriteLine( "CONN UID/PASSWORD@DBName" )
WScript.Echo "DBに接続成功"
'SQLを実行
Dim sql
sql = "SELECT SYSDATE FROM DUAL;"
WScript.Echo "SQL実行: " & sql
sqlplus.StdIn.WriteLine( sql )
'EXIT SQLPLUS
sqlplus.StdIn.WriteLine( "EXIT SUCCESS;" )
'実行結果をログで出力
While Not sqlplus.StdOut.AtEndOfStream
 WScript.Echo "SQL実行結果:   " & sqlplus.StdOut.ReadLine
WEnd
WScript.Echo "SQLPLUSを終了"
WScript.Echo "=================================="
WScript.Echo "おしまい。"
'-----おしまい

出力結果ログ:
Microsoft (R) Windows Script Host Version 5.7
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.
はじまり
==================================
SQLPLUSを起動
SQLPLUSに初期設定
DBに接続
DBに接続成功
SQL実行: SELECT SYSDATE FROM DUAL;
SQL実行結果:            10-NOV-10
SQLPLUSを終了
==================================
おしまい。

没有评论: