Pular para o conteúdo principal
Roberty Studio
RPADatabase

SQL Server

SQL Server

O módulo SQL Server é responsável por conectar em um SGBD SQL Server, realizar queries e manipular os resultados dentro do robô.

Métodos​

connection​

Método responsável por criar uma conexão com um banco de dados SQL Server.

js
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 obrigatórios​

  • connectionString: String - espera uma string com os parâmetros da conexão. O padrão deve ser seguido conforme o exemplo mostrado anteriormente.

Parâmetros opcionais​

  • connectTimeout: Number - tempo máximo, em segundos, para o servidor aceitar a conexão.
  • queryTimeout: Number - tempo limite padrão, em segundos, de toda query feita com esta conexão. 0 = sem limite.

Retorno​

Retorna a conexão aberta, que deve ser armazenada em uma variável (como connection no exemplo) e informada no parâmetro connection dos demais métodos.

A versão v2_0_0 deste método recebe, no lugar da connectionString, o connectionId de uma conexão configurada no workspace (Workspace → Conexões), além dos mesmos connectTimeout e queryTimeout:

js
const connection = await Database.SQLServer.connection["v2_0_0"]({
connectionId: "id-da-conexao-configurada-no-workspace",
connectTimeout: 10,
queryTimeout: 60,
})

close​

Método responsável por fechar uma conexão aberta com um banco de dados SQL Server.

js
await Database.SQLServer.close["v1_0_0"]({
connection: connection,
})

Parâmetros obrigatórios​

  • connection: Retorno da ação de conexão - espera a conexão obtida através da ação connection.

Parâmetros opcionais​

Esta ação não possui parâmetros opcionais.

Retorno​

Esta ação não possui retornos.

transactionBegin​

Método responsável por criar uma transação com o SGBD SQL Server.

js
const transaction = await Database.SQLServer.transactionBegin["v1_0_0"]({
connection: connection,
})

Parâmetros obrigatórios​

  • connection: Retorno da ação de conexão - espera a conexão obtida através da ação connection.

Parâmetros opcionais​

Esta ação não possui parâmetros opcionais.

Retorno​

Retorna a transação aberta, que deve ser armazenada em uma variável (como transaction no exemplo) e informada no parâmetro transaction dos métodos query, transactionCommit e transactionRollback.

transactionCommit​

Método responsável por aplicar (commitar) uma transação aberta pela ação transactionBegin.

js
await Database.SQLServer.transactionCommit["v1_0_0"]({
transaction: transaction,
})

Parâmetros obrigatórios​

  • transaction: Retorno da ação de iniciar uma transação - espera a transação obtida através da ação transactionBegin.

Parâmetros opcionais​

Esta ação não possui parâmetros opcionais.

Retorno​

Esta ação não possui retornos.

transactionRollback​

Método responsável por desfazer uma transação (rollback) aberta pela ação transactionBegin.

js
await Database.SQLServer.transactionRollback["v1_0_0"]({
transaction: transaction,
})

Parâmetros obrigatórios​

  • transaction: Retorno da ação de iniciar uma transação - espera a transação obtida através da ação transactionBegin.

Parâmetros opcionais​

Esta ação não possui parâmetros opcionais.

Retorno​

Esta ação não possui retornos.

query​

Método responsável por realizar uma query diretamente no banco de dados através da conexão obtida pela ação connection.

js
const query = await Database.SQLServer.query["v1_0_0"]({
query: `SELECT * FROM tabela;`,
connection: connection,
transaction: transaction,
timeout: 30
})

Parâmetros obrigatórios​

  • connection: Retorno da ação de conexão - espera a conexão obtida através da ação connection.
  • query: String - espera uma string com a query a ser realizada.

Parâmetros opcionais​

  • transaction: Retorno da ação transactionBegin - espera a transação obtida através da ação transactionBegin.
  • timeout: Number - tempo limite, em segundos, desta query. Se omitido, vale o queryTimeout da conexão. 0 = sem limite. Ao atingir o limite, a promise é rejeitada com um erro cuja mensagem começa com Timeout. Quando nem timeout nem o queryTimeout da conexão são informados, vale o limite padrão do driver (15 segundos, ou o Request Timeout da connection string).

Retorno​

A constante ou variável criada, como a query do exemplo mostrado anteriormente, receberá um valor do tipo Object. O objeto retornado terá as seguintes propriedades:

  • query.query: String - retorna a query que foi utilizada.
  • query.results: Array - retorna todos os resultados obtidos com a query.
  • query.resultsCount: Number - retorna a quantidade de linhas obtidas no resultado.