<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />の log_execute_sql ユーティリティはOracle SQL文を実行し、ログでエラーを探します。 エラーが見つかった場合は、メッセージボックスに表示されます。 オンにすると、実行前にSQLステートメントを表示するデバッグフラグがあります。 JMP 11以降では、ログウィンドウを開く必要があります。設定で設定できます(下記のコメントを参照)。
機能名 :log_execute_sql
説明処置:SQLを実行し、ログ・ファイルに見つかったOracle ODBCエラーをトラップしてください。 見つかった場合は、警告メッセージをユーザーに表示します。 グローバル変数:: g_log_execute_sql_debugフラグが1に設定されている場合は、実行する前にSQLを表示します。
引数 :
_caller呼び出し元プログラム。 これはエラーメッセージに含まれます
create database connection呼び出しで作成された_dbcデータベース接続
実行する_sql sqlステートメント
_invisible 1の場合、不可視フラグを設定します。 0の場合は設定しないでください。
_tbl_name返された結果テーブルに付けるオプションのテーブル名。 必要なテーブル名がない場合 「 「
サブプログラム :SQLを実行
クリアログ
ログを取得
返品 :データセットへのポインタ
コメント :Oracle固有のものですが、他のデータベースにも適用できます。
以下の設定が必要です。
設定 ( ログオープン戦略 ( 「テキストが追加されたとき」 )) ; //ログウィンドウを開く - JMP 11に必要
この設定はオプションですが、使用するのに適しています。
設定 ( ODBC非表示接続文字列 ( 1 )) ; //データセットに接続文字列を表示しない
呼び出し例 :
1。Oracleテーブルから見えないデータセットにデータを取得する
//呼び出し元プログラムの名前
pname = 「プログラム1」 ;
//データベース接続文字列
db_dsn = "ドライバ= {Oracle in OraClient11g64_home}; Dbq = MYDBNAME; UID = MYUSER; PWD = MYPASSWORD;"
dbc = データベース接続を作成する ( db_dsn ) ;
//使用するSQL文
sql_statement =
"SELECT rp.parameter_name、rp.parameter_value
myschema.my_parameters rpから " ;
// PARAMETERSテーブルから値を取得します
param_dataset = log_execute_sql ( pname 、 dbc 、 sql_statement 、 1 、 「私のパラメータ」 ) ;
データベース接続を閉じる ( dbc ) ;
2。INSERT文を実行します。
//呼び出し元プログラムの名前
pname = 「プログラム2」 ;
//データベース接続文字列
db_dsn = "ドライバ= {Oracle in OraClient11g64_home}; Dbq = MYDBNAME; UID = MYUSER; PWD = MYPASSWORD;"
dbc = データベース接続を作成する ( db_dsn ) ;
sql_statement = evalinsert (
"myschema.my_activity_logへの挿入
(user_created、date_created、my_section、activity、parameter1、value1、parameter2、value2、
parameter3、value3、parameter4、value4、parameter5、value5、parameter6、value6、parameter7、value7、
パラメータ8、値8)
値( '^ one_current_user_id ^'、SYSDATE、'DASHBOARD'、'REFRESH'、'製品名'、'^ product_name_txt ^'、
'所有者'、'^ owner_txt ^'、'検索イベントテキスト'、'^ search_event_txt ^'、'開始日'、'^ date_from_txt ^'、
'Date To'、'^ date_to_txt ^'、'アラートステータス'、'^ alert_status_txt ^'、'イベントタイプ'、
'^ concat_event_types_list ^'、'アラートタイプ'、'^ concat_alert_types_list ^') " ) ;
//このSQLを実行します。 単純な挿入なのでテーブルは取得されません
log_execute_sql ( pname 、 dbc 、 sql_statement 、 0 、 「」 ) ;
//データベース接続を閉じる
データベース接続を閉じる ( dbc ) ;