Utilizando o Gateway SQL com Python, Vector Search e Interoperabilidade no InterSystems Iris
Parte 1 – Gateway SQL
Olá,
Neste artigo vamos ver o uso do Gateway SQL no Iris. O Gateway SQL permite que o Iris tenha acesso a tabelas de outros bancos (externos) via ODBC ou JDBC. Podemos acessar Tabelas ou Visões de diversos bancos, como Oracle, PostgreSQL, SQL Server, MySQL e outros.
Do ponto de vista de uso é como se a tabela estivesse local na nossa instância Iris, porém o armazenamento é realizado em um local externo.
Para maiores detalhes sobre este componente veja a documentação que está disponível em https://docs.intersystems.com/irislatest/csp/docbook/DocBook.UI.Page.cls?KEY=BSQG_overview
Então vamos para as configurações necessárias:
Primeiro, para fazer a configuração do SQL Gateway no Iris vamos precisar configurar o acesso a um banco externo. Para nosso exemplo vamos utilizar uma instância MySQL sendo acessada via ODBC.
Instalamos então uma instância do MySQL em um servidor e nela criamos a tabela que será acessada no nosso exemplo:
Então populamos a tabela com informações. Abaixo um exemplo da tabela já com dados:
Agora vamos criar um DSN no Windows para realizar a conexão ao MySQL. Antes precisamos instalar o driver ODBC do MySQL no Windows. O driver pode ser facilmente obtido no site do próprio MySQL.
Após instalar o driver ODBC para o MySQL, abra o Gerenciador de Fonte de Dados ODBC no Windows:
Clique na aba “DSN de Sistema” e a seguir no botão Adicionar:
Selecione o driver MySQL ODBC ANSI e clique em Concluir.
Preencha a tela de configuração com nome do data source a ser criado, descrição, endereço IP e porta de comunicação do servidor do MySQL (padrão é a porta 3306 – verifique se sua instância MySQL está de fato utilizando esta porta de comunicação), o usuário e senha de acesso ao MySQL (crie no MySQL um usuário com permissão de acesso para as tabelas que deseja utilizar). Selecione o banco de dados a ser acessado:
Clique n botão de teste para verificar se a sua configuração está acessando a instancia do MySQL configurada no DSN:
Agora vamos fazer uma consulta via ODBC para verificar se tudo está OK na nossa estrutura. Vamos utilizar o Excel para isso. Abra o Excel, e vá em Dados->Obter Dados->De outras Fontes->Do ODBC:
Selecione o DSN que você criou para acessar o MySQL e a seguir selecione o esquema e a tabela que deseja verificar. No nosso caso vamos ver a tabela venda do esquema estat:
A seguir clique no botão Carregar e você verá os dados da sua tabela nas células do Excel:
Pronto. Já temos a nossa conexão ODBC criada e funcionando para realizar o acesso a nossa tabela remota. Agora vamos voltar ao Iris e realizar a configuração da conexão do SQL Gateway. Abra o Painel de Administração do Iris e vá em Administração do Sistema->Configuração->Conectividade->Conexões de SQL Gateway e clique no botão Criar Nova Conexão:
Informe os dados de acesso ao DSN conforme abaixo:
Tipo de Conexão |
ODBC |
Nome da Conexão |
Informe um nome a seu critério |
Selecione um DSN existente |
Selecione o DSN criado para acesso ODBC ao MySQL |
Usuário |
Usuário de acesso (o mesmo do DSN) |
Senha |
Senha de acesso (a mesma que a do DSN) |
Para o teste vamos deixar desmarcadas todas as opções da configuração, exceto a Não converter valores que não sejam caracteres:
Por fim clique em “Testar Conexão” para verificar se tudo está OK. Você verá o texto “Conexão teve sucesso.” caso tudo esteja configurado corretamente:
Uma vez criado o DSN e configurado o acesso do Gateway SQL podemos fazer a vinculação das tabelas para o Iris poder acessar os dados remotos. Para isso volte ao Portal de Administração e vá para Explorer do Sistema->SQL e mude para o namespace onde serão armazenadas as definições da classe que serão geradas:
Clique no link “Assistentes” e a seguir em “Vincular Tabela”. Você verá a tela do wizard de vinculação de tabelas do Iris:
Procure a conexão Gateway SQL que foi criada no passo anterior:
Selecione o esquema e a tabela que deseja vincular no Iris:
Clique em Avançar e selecione as colunas da tabela que deseja ter acesso:
Clique em Avançar e faça os ajustes de nomes e característica de leitura/gravação nos campos disponíveis:
Clique em Avançar e procure o campo que será a chave primária dos registros:
Selecione os campos que formam a chave primária do registro:
Clique em Salvar. Informe o nome da classe a ser criada e o nome da tabela SQL:
A seguir clique em Terminar.
A nossa classe no Iris foi criada. Abra o Studio e veja a classe:
Vamos testar o acesso aos dados fazendo uma consulta via SQL. Para isso vamos voltar ao Portal de Administração e vamos em Explorer do Sistema->SQL e vamos mudar para o namespace onde criamos nossa classe. Vamos então executar o SQL de consulta a nossa tabela vinculada:
Pronto! Já temos acesso aos dados de nossa tabela no MySQL. Lembrando que podemos realizar INSERT/UPDATE/DELETE ou então utilizar as sintaxes de manipulação de objetos do Iris agora que a tabela está vinculada, como vemos abaixo:
E usando a sintaxe de objetos do Iris:
Assim concluímos esta primeira parte já conseguindo acessar os dados do MySQL através do Iris utilizando o Gateway SQL.
Até a próxima parte do nosso artigo!