Меню

Guardar la tabla en la base de datos

La actividad se encuentra en la sección SQL.
Permite guardar una tabla en la base de datos, sustituyendo o completando una tabla existente.


Debe especificarlo en las propiedades:
  • Conexión, creada por la actividad Crear una conexión a la base de datos.
  • Nombre del esquema de la base de datos.
  • Nombre de la tabla de la base de datos donde deben colocarse los datos.
  • Tabla de datos que se colocarán en la base de datos.
  • Borrar la tabla - si es verdadero, se elimina la tabla original de la base de datos.
  • Entradas (explicación a continuación).
  • Tiempo de espera de la operación (explicación a continuación).
  • Nombre de la variable en la que se escribirán las entradas modificadas - el resultado de guardar un DataTable.
La opción "Utilizar consultas SQL" genera una consulta SQL a la base de datos. Para esta opción, se ha añadido la opción "Registros en un bloque" para recuperar/guardar datos en porciones.

Ejemplo
Si una tabla consta de 550 registros y el tamaño del bloque es de 100 registros, la tabla se dividirá finalmente en 6 bloques. Cinco de ellos contendrán 100 registros cada uno, y el último bloque contendrá 50 registros. Cada bloque tiene su propia consulta SQL que se ejecuta como una transacción independiente.
La gestión por bloques aumenta la fiabilidad del almacenamiento de datos y permite guardar tablas de gran tamaño.

La opción "Utilizar objetos 'Bulk'" permite guardar toda la tabla utilizando la instrucción SQL Bulk Insert, lo que proporciona una alta tasa de escritura en la base de datos.
La propiedad para el tiempo de espera de la operación (T) limita el tiempo de espera de la ejecución de la operación (en segundos).
Si la operación no se ejecuta en el plazo especificado, se emitirá un error.

Limitaciones de la opción
La operación Bulk requiere que los tipos de datos de la DataTable y de la tabla de destino coincidan exactamente.
La estructura de la tabla de datos no puede modificarse, por lo que es importante observar los tipos de columna de la DataTable de entrada antes de rellenarla.
Otra limitación es la lista limitada de proveedores que admiten Bulk Insert:
  • para MS SQL Server – System.Data.SQLClient,
  • para Oracle - Oracle.ManagedDataAccess.Client.
En el caso del proveedor SQLConnection y System.Data.SQLClient es aceptable utilizar otro RDBMS (por ejemplo MySQL).