ADO では、一時PL/SQL 内の結果を取得する事ができませんが、OO4O を使用すると可能になります。 関連する記事 OO4O : 一時PL/SQLを実行して、DBMS_OUTPUT の結果を取得する PL/SQL : OUT タイプのパラメータを持つストアードプロシージャの処理 PL/SQL で エクスポート
<JOB> <COMMENT> ******************************* ■ Data Pump Export ******************************* </COMMENT> <OBJECT id="Cn" progid="ADODB.Connection" /> <SCRIPT language=VBScript> ' ******************************* ' 処理開始 ' ******************************* ' ソース内テキストデータの取得 strPLSQL = RegTrim(GetResource("myTextData")) ' GUI if vbCancel = MsgBox( "実行しますか? ", vbOKCancel , "Data Pump Export" ) then Wscript.Echo "キャンセルされました" end if strDriver = "{Microsoft ODBC for Oracle}" strServer = "night/xe" strUser = "lightbox" strPass = "lightbox" ConnectionString = _ "Provider=MSDASQL" & _ ";Driver=" & strDriver & _ ";Server=" & strServer & _ ";UID=" & strUser & _ ";PWD=" & strPass & _ ";" on error resume next Cn.Open ConnectionString if Err.Number <> 0 then WScript.Echo Err.Description Wscript.Quit end if on error goto 0 Cn.Execute( strPLSQL ) Cn.Close Wscript.Echo "処理が終了しました" ' ******************************* ' 文字列前後の漢字スペースを含 ' むホワイトスペースの削除 ' ******************************* Function RegTrim( strValue ) Dim regEx, str Set regEx = New RegExp regEx.IgnoreCase = True regEx.Pattern = "^[ \s]+" str = regEx.Replace( strValue, "" ) regEx.Pattern = "[ \s]+$" RegTrim = regEx.Replace( str, "" ) End Function </SCRIPT> <COMMENT> ******************************* ソース内テキストデータ ******************************* </COMMENT> <RESOURCE id="myTextData"> <![CDATA[ DECLARE /*******************************/ /* 変数の定義 */ /*******************************/ J_HANDLE NUMBER; J_STS VARCHAR2(20); /*******************************/ /* 処理開始 */ /*******************************/ BEGIN DBMS_OUTPUT.PUT_LINE('デバッグ:開始'); /***************************/ /* OPEN */ /***************************/ J_HANDLE := DBMS_DATAPUMP.OPEN( 'EXPORT' ,'TABLE' ,NULL ,NULL ,'COMPATIBLE' ,DBMS_DATAPUMP.KU$_COMPRESS_METADATA ); /***************************/ /* 出力ファイル */ /***************************/ DBMS_DATAPUMP.ADD_FILE( J_HANDLE ,'EXP20100614.DMP' ,'R205' ,NULL ,DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE ); /***************************/ /* SQL 式で スキーマを指定 */ /***************************/ DBMS_DATAPUMP.METADATA_FILTER( J_HANDLE ,'SCHEMA_EXPR' ,'IN (''LIGHTBOX'')' ); /***************************/ /* SQL 式で 表を指定 */ /***************************/ DBMS_DATAPUMP.METADATA_FILTER( J_HANDLE ,'NAME_EXPR' ,'IN (''商品マスタ'')' ); /***************************/ /* データを出力しない */ /***************************/ DBMS_DATAPUMP.DATA_FILTER ( J_HANDLE ,'INCLUDE_ROWS' ,0 /* 1 で出力 */ ); /***************************/ /* 開始 */ /***************************/ DBMS_DATAPUMP.START_JOB( J_HANDLE ,0 ); /***************************/ /* JOB 終了まで待機 */ /***************************/ DBMS_DATAPUMP.WAIT_FOR_JOB( J_HANDLE ,J_STS ); /***************************/ /* 終了ステータスの表示 */ /***************************/ DBMS_OUTPUT.PUT_LINE('処理終了:'||J_STS); /*******************************/ /* 一番外側のブロックの例外処理 */ /*******************************/ EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('例外発生:'||SQLCODE||':'||SQLERRM); END; ]]> </RESOURCE> </JOB>
VBScriptドキュメント
|
【VBS + ADOの最新記事】
- VBScript : Oracle Database Express Edition 11g Release 2 に MDB(販売管理C) のデータをインポートする
- VBScript : PostgreSQL(9.3.4) に MDB(販売管理C) のデータをインポートする
- VBscript : 新しい Mictrosoft Access(2007以降)へ、古い MDB からデータを移行する
- VBScript : 古い Access2003 までのデータベース作成と新しい Access2007 以降のデータベース作成
- VBScript : ADO で Excel2007(Excel 2010、Excel 2013) にアクセスする( シートをテーブルとして読み込む )
- VBScript : Micrsoft Access 経由で、SQLServer のテーブルのデータを Excel にエクスポートする方法
- VBScript : ADO を使用して、MDB(Access2003) のデータを SQLite ODBC Driver で sqlite3(UTF-8) を作成
- VBScript +ADO / MDB から SQLite3 へ ODBC ドライバを使ってフィールドオブジェクトを使用した同一フォーマットのテーブル間のデータコピー(データベースは自動的に作成されま..
【VBScript関連のカテゴリ】