Skip to main content

Adaptador Base de Datos

English

Introducción

El Adaptador de Base de Datos busca el origen de los datos y actualiza o consulta la base de datos. Estas tareas se realizan a través de comandos SQL o también llamadas sentencias SQL. A través del Adaptador de Base de Datos, TAST conecta y prueba las aplicaciones y componentes de la Base de Datos. Es posible realizar pruebas individuales con este adaptador o pruebas de extremo a extremo conectando con otros adaptadores.

Parámetros de Inicialización

En el proceso de inicialización, debemos proporcionar al Adaptador de Base de Datos toda la información necesaria para establecer la conexión con la base de datos de destino e intenta realizar la conexión. Si esa conexión se realiza con éxito, posteriormente pasaremos a realizar pruebas individuales con él. En el caso de que esa conexión no se pueda realizar, el proceso falla. Si falla, el proceso se cancela.

Estos son los datos que debemos cumplimentar:

  • DbType: indica el proveedor o tipo de base de datos a la que queremos conectarnos:
      • DB2
      • DB2/400 
      • Oracle 
      • MySql 
      • PostGres_SQL 
      • GoogleBigQuery 
      • SQL_Server 
  • Host: representa la dirección IP o el nombre DNS de la máquina donde reside la base de datos.
  • Port: el número de puerto que escucha las conexiones entrantes a la base de datos.
  • Ssl: cuando marcamos el checkbox, se activa el protocolo de seguridad.
  • DbName(Opcional): nombre de la instancia o servicio de base de datos. Este dato es opcional. 
  • User: nombre usuario.
  • Password: contraseña del usuario.

Funciones Predefinidas (PF's)

  • connect_DB(): intenta la conexión a la base de datos configurada. Devuelve true si lo consigue (mensaje de acceso con éxito en el log) o false (mensaje de error y la causa en el log) en el caso contrario.
  • dBExecuteStatement(Statement): ejecuta la sentencia SQL que está contenida en el Parámetro de entrada (Statement). Permite al usuario modificar los datos de la base de datos de destino. Puede escribir sentencias SQL, Insertar, Eliminar, Actualizar y Fusionar en el parámetro de sentencias y ejecutarlas. La función sustituirá las variables por sus valores en el tiempo de ejecución; esto devuelve un TastInteger con el número de filas que han sido afectadas por la sentencia.
      •  Parámetro de entrada: la sentencia a ejecutar, por ejemplo: ”INSERT INTO x (a, b, c) VALUES (d, e, f)”),

      •  Variable de salida: Integer con los resultados.

  • dBExecuteStatementFromFile: ejecuta las sentencias que se encuentran en el fichero cuya ruta se encuentra definida en el Parámetro PathToFileWithStatements.
  • dBGetQueryData(Query): ejecuta la sentencia SQL Select contenida en el parámetro Query y devuelve los resultados como una variable TastTableData al ejecutor, lo que permite acceder y  trabajar con los datos en los pasos posteriores del diagrama. El parámetro Query contiene la sentencia Select que se ejecutará en la base de datos. Es posible utilizar variables creadas en el diagrama dentro del parámetro Query, la función sustituirá  las variables por sus valores en el tiempo de ejecución.
      • Parámetro de entrada: Query 

      • Variable de salida: OutputTable

  • disconnect_DB(): intenta desconectarte de la base de datos. Devuelve true si tiene éxito o false en caso contrario. Como en la función  connectDB() vendrá un mensaje de error o de éxito en el log, dependiendo del resultado.
  • getNumColumns(): devuelve el número de columnas contenidas en TastTableData que se generó mediante la ejecución de la función dBGetQueryData. Requiere la ejecución de la función dBGetQueryData en los pasos anteriores del diagrama. No necesita parámetro de entrada, ya que es una función que te devuelve el número de columnas de la tabla que indiques con TastTableData.
  • getNumRows(): devuelve el número de filas contenidas en TastTableData que se generó mediante la ejecución de la función dBGetQueryData. Requiere la ejecución de la función dBGetQueryData en los pasos anteriores del diagrama. No necesita parámetro de entrada, ya que es una función que te devuelve el número de filas de la tabla que indiques con TastTableData.
  • getTableValue(RowNum, ColNum): devuelve el valor contenido en la celda indicada por los parámetros Fila y Columna. Requiere la ejecución de la función dBGetQueryData en los pasos anteriores del diagrama.
      • Parámetros de entrada: RowNum y ColNums, la columna y la fila de la cual se desea obtener la información

      • Variable de salida: contendría dicha información

  • tableRecordCount(tableName, whereClausule): realiza una consulta SQL utilizando la función SQL Count (*).
      • Parámetro de entrada TableName representa el nombre de la tabla o vista que se utilizará para la consulta, 

      • Parámetro de entrada whereClausule(opcional) representa la cláusula SQL donde debemos aplicar. 

      • Variable de salida: devuelve el número de filas contadas por la sentencia.

  • transfromSelectIntoInsert: transforma el resultado del select que se introduce como parámetro en un insert.

Gestión de Variables en el Adaptador de Base Datos

La Gestión de Variables en el Adaptador de Base de Datos es un tema importante, especialmente en cómo se manejan las variables dentro de la función predefinida de la consulta.

  • En lugar de soportar parámetros, es mejor sustituirlos usando esta sintaxis, siendo Data la variable a reemplazar, '”+ #Data +”' (cita simple, cita doble). Por ejemplo:

    SELECT '“+ #Data +”' FROM dual
  • Además, las consultas han utilizado a menudo un alias que se incluye entre comillas. Por ejemplo:

    SELECT domain FROM dual as “Domain”
  • Si se manipulan consultas complejas, con varios alias en los que se quieren sustituir varias variables, funciona construyendo en un javascript la consulta completa, siendo necesario saltar las comillas “” de los alias con este símbolo: \. Por ejemplo:

    SELECT domain FROM dual as \ “Domain” \