<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />los log_execute_sql La utilidad ejecuta sentencias de Oracle SQL y busca errores en el registro. Si se encuentran errores, se muestran en un cuadro de mensaje. Hay un indicador de depuración que, cuando está activado, mostrará la instrucción SQL antes de la ejecución. Para JMP 11 y superior, se necesita abrir la ventana de registro, configurable a través de una preferencia (vea los comentarios a continuación).
Nombre de la función : log_execute_sql
Descripción : Ejecute SQL y atrape los errores ODBC de Oracle encontrados en el archivo de registro. Si se encuentra alguno, muestre un mensaje de advertencia al usuario. Si la variable global :: g_log_execute_sql_debug está establecida en 1, visualice el SQL antes de ejecutarlo.
Argumentos :
_Caller Calling program. Esto será incluido en el mensaje de error.
_dbc conexión de base de datos creada con crear llamada de conexión de base de datos
_sql sentencia sql para ejecutar
_invisible Si 1, establece la bandera invisible. Si es 0, no lo establezca.
_tbl_name Nombre de tabla opcional para dar la tabla de resultados devueltos. Si no se desea utilizar el nombre de la tabla " "
Subprogramas : ejecutar sql
borrar registro
obtener registro
Devoluciones : puntero al conjunto de datos
Comentarios : Específico para Oracle, pero podría adaptarse a otras bases de datos
Necesita las siguientes preferencias establecidas:
Preferencias ( Log de estrategia abierta ( "Cuando se agrega texto" )) ; // Abrir ventana de registro - necesaria para JMP 11
Esta preferencia es opcional pero es buena para usar:
pref. ( ODBC ocultar cadena de conexión ( 1 )) ; // No mostrar la cadena de conexión en el conjunto de datos
Llamadas de ejemplo :
1. Recupere datos de una tabla de Oracle en un conjunto de datos invisible
// Nombre del programa que llama
pname = "Programa 1" ;
// La cadena de conexión de tu base de datos
db_dsn = "Driver = {Oracle en OraClient11g64_home}; Dbq = MYDBNAME; UID = MYUSER; PWD = MYPASSWORD;"
dbc = Crear conexión de base de datos ( db_dsn ) ;
// declaración SQL para usar
sql_statement =
"SELECCIONE rp.parameter_name, rp.parameter_value
DE myschema.my_parameters rp " ;
// Obtener valores de la tabla PARAMETERS
param_dataset = log_execute_sql ( pname , dbc , sql_statement , 1 , "Mis Parámetros" ) ;
cerrar la conexión de la base de datos ( dbc ) ;
2. Ejecutar una instrucción INSERT:
// Nombre del programa que llama
pname = "Programa 2" ;
// La cadena de conexión de tu base de datos
db_dsn = "Driver = {Oracle en OraClient11g64_home}; Dbq = MYDBNAME; UID = MYUSER; PWD = MYPASSWORD;"
dbc = Crear conexión de base de datos ( db_dsn ) ;
sql_statement = evalinsert (
"INSERTAR EN myschema.my_activity_log
(creado por el usuario, creado por la fecha, mi sección, actividad, parámetro1, valor1, parámetro2, valor2,
parámetro3, valor3, parámetro4, valor4, parámetro5, valor5, parámetro6, valor6, parámetro7, valor7,
parámetro8, valor8)
VALORES ('^ one_current_user_id ^', SYSDATE, 'DASHBOARD', 'REFRESH', 'Product Name', '^ product_name_txt ^',
'Propietario', '^ owner_txt ^', 'Buscar texto del evento', '^ search_event_txt ^', 'Fecha de', '^ date_from_txt ^',
'Fecha hasta', '^ date_to_txt ^', 'Estado de alerta', '^ alert_status_txt ^', 'Tipos de evento',
'^ concat_event_types_list ^', 'Tipos de alerta', '^ concat_alert_types_list ^') " ) ;
// Ejecutar este SQL. No se recupera ninguna tabla ya que es una inserción simple
log_execute_sql ( pname , dbc , sql_statement , 0 , "" ) ;
// Cerrar la conexión de la base de datos
Cerrar conexión de base de datos ( dbc ) ;