SQL Server
SQL Server
El módulo SQL Server es responsable de conectarse a un SGBD SQL Server, realizar consultas y manipular los resultados dentro del robot.
Métodos
connection
Método responsable de crear una conexión con una base de datos SQL Server.
const connection = await Database.SQLServer.connection["v1_0_0"]({
connectionString: `Server=localhost;1433;Database=master;User Id=admin;password=123;TrustServerCertificate=True;`,
connectTimeout: 10,
queryTimeout: 60,
})
Parámetros obligatorios
connectionString: String - espera un string con los parámetros de la conexión. Se debe seguir el estándar conforme al ejemplo mostrado anteriormente.
Parámetros opcionales
connectTimeout: Number - tiempo máximo, en segundos, para que el servidor acepte la conexión.queryTimeout: Number - tiempo límite predeterminado, en segundos, de toda consulta realizada con esta conexión.0= sin límite.
Retorno
Devuelve la conexión abierta, que debe almacenarse en una variable (como connection en el ejemplo) e indicarse en el parámetro connection de los demás métodos.
La versión v2_0_0 de este método recibe, en lugar de la connectionString, el connectionId de una conexión configurada en el workspace (Workspace → Conexiones), además de los mismos connectTimeout y queryTimeout:
const connection = await Database.SQLServer.connection["v2_0_0"]({
connectionId: "id-de-la-conexion-configurada-en-el-workspace",
connectTimeout: 10,
queryTimeout: 60,
})
close
Método responsable de cerrar una conexión abierta con una base de datos SQL Server.
await Database.SQLServer.close["v1_0_0"]({
connection: connection,
})
Parámetros obligatorios
connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.
Parámetros opcionales
Esta acción no tiene parámetros opcionales.
Retorno
Esta acción no tiene retornos.
transactionBegin
Método responsable de crear una transacción con el SGBD SQL Server.
const transaction = await Database.SQLServer.transactionBegin["v1_0_0"]({
connection: connection,
})
Parámetros obligatorios
connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.
Parámetros opcionales
Esta acción no tiene parámetros opcionales.
Retorno
Devuelve la transacción abierta, que debe almacenarse en una variable (como transaction en el ejemplo) e indicarse en el parámetro transaction de los métodos query, transactionCommit y transactionRollback.
transactionCommit
Método responsable de aplicar (confirmar) una transacción abierta por la acción transactionBegin.
await Database.SQLServer.transactionCommit["v1_0_0"]({
transaction: transaction,
})
Parámetros obligatorios
transaction: Retorno de la acción de iniciar una transacción - espera la transacción obtenida a través de la acción transactionBegin.
Parámetros opcionales
Esta acción no tiene parámetros opcionales.
Retorno
Esta acción no tiene retornos.
transactionRollback
Método responsable de deshacer una transacción (rollback) abierta por la acción transactionBegin.
await Database.SQLServer.transactionRollback["v1_0_0"]({
transaction: transaction,
})
Parámetros obligatorios
transaction: Retorno de la acción de iniciar una transacción - espera la transacción obtenida a través de la acción transactionBegin.
Parámetros opcionales
Esta acción no tiene parámetros opcionales.
Retorno
Esta acción no tiene retornos.
query
Método responsable de realizar una consulta directamente en la base de datos a través de la conexión obtenida por la acción connection.
const query = await Database.SQLServer.query["v1_0_0"]({
query: `SELECT * FROM tabela;`,
connection: connection,
transaction: transaction,
timeout: 30
})
Parámetros obligatorios
connection: Retorno de la acción de conexión - espera la conexión obtenida a través de la acción connection.query: String - espera un string con la consulta que será realizada.
Parámetros opcionales
transaction: Retorno de la acción transactionBegin - espera la transacción obtenida a través de la acción transactionBegin.timeout: Number - tiempo límite, en segundos, de esta consulta. Si se omite, se aplica elqueryTimeoutde la conexión.0= sin límite. Al alcanzar el límite, la promesa se rechaza con un error cuyo mensaje comienza conTimeout. Cuando no se indican nitimeoutni elqueryTimeoutde la conexión, se aplica el límite predeterminado del driver (15 segundos, o elRequest Timeoutde la connection string).
Retorno
La constante o variable creada, como la query del ejemplo mostrado anteriormente, recibirá un valor del tipo Object. El objeto devuelto tendrá las siguientes propiedades:
query.query: String - devuelve la consulta que fue utilizada.query.results: Array - devuelve todos los resultados obtenidos con la consulta.query.resultsCount: Number - devuelve la cantidad de filas obtenidas en el resultado.