Banco de Dados

ODBC (SQL Server, MySQL, PostgreSQL, Oracle) e SQLite

Conectar ao Banco

database.connect

Conecta via ODBC (SQL Server, MySQL, PostgreSQL, Oracle) por campos ou string de conexão

Como usar

Conecta a um banco por ODBC (SQL Server, MySQL, PostgreSQL, Oracle e outros), preenchendo servidor, banco e usuário, ou com uma string de conexão. O driver ODBC precisa estar instalado na máquina. A senha vem do cofre; em SQL Server pode usar o usuário do Windows (conexão confiável).

Exemplo: Conecte ao servidor SQL01\ERP, banco Vendas, com conexão confiável, guardando em {connection}.

Campos

CampoTipoPadrãoDetalhes
Forma de conexão *OpçãoCampos (servidor, banco, usuário)Opções: Campos (servidor, banco, usuário), String de conexão ODBC
Driver ODBC *TextoODBC Driver 18 for SQL ServerNome do driver instalado, sem chaves. Ex.: ODBC Driver 18 for SQL Server, MySQL ODBC 8.0 Unicode Driver, PostgreSQL UnicodeSó quando «Forma de conexão» = «Campos (servidor, banco, usuário)»
Servidor *TextoEx.: localhost\SQLEXPRESS ou servidor,1433Só quando «Forma de conexão» = «Campos (servidor, banco, usuário)»
Banco de dadosTextoSó quando «Forma de conexão» = «Campos (servidor, banco, usuário)»
Conexão confiável (usuário do Windows)Sim/NãoNãoTrusted_Connection=yes: entra com o usuário do Windows que executa o robô, sem usuário e senhaSó quando «Forma de conexão» = «Campos (servidor, banco, usuário)»
UsuárioTextoSó quando «Forma de conexão» = «Campos (servidor, banco, usuário)» e «Conexão confiável (usuário do Windows)» = «Não»
Senha (cofre)Credencial do cofreAcrescentada à conexão como PWD; nunca fica gravada no projetoSó quando «Conexão confiável (usuário do Windows)» = «Não»
Confiar no certificado do servidorSim/NãoNãoTrustServerCertificate=yes: necessário no ODBC Driver 18 quando o servidor usa certificado próprio (comum em servidores locais)Só quando «Forma de conexão» = «Campos (servidor, banco, usuário)»
String de conexão *TextoDRIVER={ODBC Driver 18 for SQL Server};SERVER=;DATABASE=;Não coloque a senha aqui: use o campo Senha (cofre)Só quando «Forma de conexão» = «String de conexão ODBC»
Salvar conexão na variável *Variável de saídaconnection
+ Avançado (2)
CampoTipoPadrãoDetalhes
AutocommitSim/NãoNão
Tempo limite de loginNúmero30 s

Resultado: guardado na variável connection (Objeto).

Conectar ao SQLite

database.connect_sqlite

Conecta a arquivo SQLite local

Como usar

Abre (ou cria) um banco SQLite num arquivo local, sem servidor. Ótimo para controle de estado do robô, filas e histórico.

Exemplo: Conecte a C:\Robos\controle.db para registrar os pedidos já processados.

Campos

CampoTipoPadrãoDetalhes
Arquivo do banco *Arquivo
Salvar conexão na variável *Variável de saídaconnection

Resultado: guardado na variável connection (Objeto).

Executar Consulta

database.execute_query

Executa SELECT e retorna resultados

Como usar

Executa um SELECT e guarda as linhas (como dicionários, por padrão). Use ? no SQL e passe os valores em Parâmetros, nunca concatenando texto, para evitar erros e injeção de SQL.

Exemplo: SELECT numero, valor FROM pedidos WHERE status = ? com o parâmetro "Pendente", em {rows}.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelconnection
SQL *CódigoSELECT 1
Salvar resultado na variável *Variável de saídarows
+ Avançado (2)
CampoTipoPadrãoDetalhes
Parâmetros da consulta (?)ListaValores ligados aos marcadores ?, na ordem
Linhas como dicionáriosSim/NãoSim

Resultado: guardado na variável rows (Lista).

Executar Comando

database.execute_non_query

Executa INSERT, UPDATE, DELETE

Como usar

Executa INSERT, UPDATE, DELETE ou outros comandos que alteram dados e guarda quantas linhas foram afetadas. Por padrão confirma na hora; desmarque para confirmar junto com outros comandos numa transação.

Exemplo: UPDATE pedidos SET status = ? WHERE numero = ? com "Faturado" e {numero}.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelconnection
SQL *CódigoUPDATE tabela SET coluna = ? WHERE id = ?
Salvar linhas afetadas na variável *Variável de saídaaffected_rows
+ Avançado (2)
CampoTipoPadrãoDetalhes
Parâmetros da consulta (?)ListaValores ligados aos marcadores ?, na ordem
Confirmar imediatamenteSim/NãoSim

Resultado: guardado na variável affected_rows (Número).

Executar Procedure

database.execute_procedure

Chama stored procedure com parâmetros

Como usar

Chama uma stored procedure com argumentos e guarda as linhas que ela devolver. Prefira procedures para regras complexas: o processamento fica no banco.

Exemplo: Execute dbo.sp_FecharPedido com o argumento {numero}.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelconnection
Procedure *TextoEx.: dbo.usp_nome
ArgumentosLista
Salvar resultado na variável *Variável de saídarows

Resultado: guardado na variável rows (Lista).

Iniciar Transação

database.begin_transaction

Inicia transação

Como usar

Inicia uma transação: as alterações seguintes só valem com Confirmar e podem ser desfeitas com Reverter. Use quando várias alterações precisam acontecer juntas.

Exemplo: Inicie a transação, grave o pedido e os itens, e confirme só se tudo der certo.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelconnection

Confirmar

database.commit

Confirma transação

Como usar

Confirma as alterações feitas desde o início da transação.

Exemplo: Confirme depois de gravar o pedido e todos os itens.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelconnection

Reverter

database.rollback

Reverte transação

Como usar

Desfaz as alterações feitas desde o início da transação. Normalmente fica na saída "Em caso de erro" de um Tentar / Capturar.

Exemplo: Se a gravação de algum item falhar, reverta para não deixar pedido pela metade.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelconnection

Fechar Conexão

database.close_connection

Encerra a conexão

Como usar

Fecha a conexão com o banco. O robô também fecha ao terminar; feche antes em execuções longas.

Exemplo: Feche {connection} depois de importar todos os pedidos.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelconnection

Consulta para DataFrame

database.query_to_dataframe

Resultado da query como Pandas DataFrame

Como usar

Executa um SELECT e guarda o resultado como tabela de dados (DataFrame), pronta para os comandos de Dados ou para exportar para Excel.

Exemplo: SELECT * FROM vw_vendas_mes em {dataframe} e exporte para vendas.xlsx.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelconnection
SQL *CódigoSELECT 1
Salvar resultado na variável *Variável de saídadataframe
+ Avançado (1)
CampoTipoPadrãoDetalhes
Parâmetros da consulta (?)ListaValores ligados aos marcadores ?, na ordem

Resultado: guardado na variável dataframe (Tabela (DataFrame)).

DataFrame para Tabela

database.dataframe_to_table

Insere DataFrame em tabela do banco

Como usar

Grava as linhas de uma tabela de dados (DataFrame) numa tabela do banco, em lotes: acrescentando, substituindo a tabela ou falhando se ela existir.

Exemplo: Acrescente {df_planilha} na tabela staging_pedidos.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelconnection
DataFrame *Variáveldataframe
Tabela *Texto
Se a tabela existirOpçãoAcrescentar linhasOpções: Acrescentar linhas, Substituir tabela, Falhar
+ Avançado (1)
CampoTipoPadrãoDetalhes
Linhas por loteNúmero1000

Listar Tabelas

database.list_tables

Lista tabelas do banco

Como usar

Lista as tabelas do banco conectado. Útil para conferir a conexão e montar consultas.

Exemplo: Liste as tabelas em {tables} para confirmar que staging_pedidos existe.

Campos

CampoTipoPadrãoDetalhes
Conexão *Variávelconnection
Salvar resultado na variável *Variável de saídatables

Resultado: guardado na variável tables (Lista).