Olá, pessoal. Quanto tempo! Mais uma vez, gostaria de compartilhar o que tenho estudado recentemente, criar tabelas estrangeiras usando SQL via JDBC.
Como estou aprendendo sobre o IRIS BI ao mesmo tempo, comecei utilizando este ambiente Docker de exemplo do Sample-BI.
https://github.com/intersystems/Samples-BI
Após iniciar o ambiente, faça login no portal de gerenciamento http://localhost:52773/csp/sys/UtilHome.csp como Superuser.
Troque para o namespace IRISAPP.
.png)
😀 Vamos descobrir que todos os dados de exemplo estão armazenados no namespace IRISAPP. Vamos encontrar uma tabela simples para testar o recurso de Tabela Estrangeira 🤣
System Explorer > SQL
.png)
Vamos testar a tabela HoleFoods.Outlet executando o seguinte SQL na aba Execute Query.
SELECT
ID, City, Country, Latitude, Longitude, Population, Type
FROM HoleFoods.Outlet
Perfeito!!😉 há 35 registros na tabela. Vamos usa-los.
Passo 1- Configurando a conexão JDBC
Ao estudar o documento abaixo, podemos ver que o banco de dados InterSystems IRIS pode ser conectado via JDBC da seguinte forma.
Using the SQL Gateway as a JDBC Data Source
Então, vamos usar o namespace IRISAPP como o banco de dados de origem JDBC para teste e configurar uma conexão para ele.
Adicione uma nova conexão em System > Configuration > SQL Gateway Connections
.png)
.png)
Use os seguintes dados para parametrizar
| Connection name | testjdbc |
| User | superuser |
| Password | {you own password} |
| Driver name | com.intersystems.jdbc.IRISDriver |
| URL | jdbc:IRIS://127.0.0.1:1972/IRISAPP |
Deixe o campo Class path em branco neste caso, pois a conexão é com o banco de dados InterSystems IRIS. Se estiver conectando a um banco de dados de terceiros, lembre-se de baixar o arquivo do driver JDBC (.jar) e especificar o caminho do driver no campo Class path.
Salve e teste a conexão. O resultado esperado é que a conexão seja bem-sucedida. 😁
.png)
Yeah!!! we finished the 1st step.
Passo 2 - Criando uma tabela estrangeira
Agora, mude para outro namespace, USER, que não contém a tabela HoleFoods.Outlet. 😉
Aqui, queremos consultar essa tabela externa HoleFoods.Outlet utilizando o recurso de Tabela Estrangeira. (No InterSystems IRIS, namespaces diferentes podem ser configurados para apontar para bancos de dados diferentes. Neste exemplo, o namespace IRISAPP e o namespace USER estão apontando para bancos de dados diferentes. Como resultado, não podemos consultar a tabela do namespace IRISAPP diretamente a partir do namespace USER.)
.png)
Ao estudar o documento abaixo, podemos criar diretamente uma tabela estrangeira usando SQL.😁👍
Então, vamos novamente para a página de execução SQL. System Explorer > SQL
.png)
1. Criando um Foreign Server
Agora vamos definir um Foreign Server chamado Sample.testDB usando o seguinte SQL. testjdbc é o nome que definimos na conexão JDBC do SQL Gateway na etapa anterior.
CREATE FOREIGN SERVER Sample.testDB FOREIGN DATA WRAPPER JDBC CONNECTION 'testjdbc'
.png)
2.Criando uma Foreign Table
Agora vamos definir uma Foreign Table chamada demo.outlet, que aponta para a tabela HoleFoods.Outlet através do gateway JDBC
CREATE FOREIGN TABLE demo.outlet SERVER Sample.testDB TABLE 'HoleFoods.Outlet'
.png)
Vamos verificar o resultado na lista de tabelas.
.png)
.png)
Isso!!!! Uma Foreign Table demo.outlet foi criada. O esquema foi lido e criado automaticamente aliás. 😂 Que felicidade!
Por fim, teste a Foreign Table executando o seguinte SQL.
SELECT * FROM demo.outlet
.png)
35 registros da tabela Outlets foram retornados!!! Isso!! Conseguimos 🎉🤣
Apenas para referência
Removendo a Foreign Table demo.outlet
DROP FOREIGN TABLE demo.outlet
.png)
Removendo o Foreign Server Sample.testDB
DROP FOREIGN SERVER Sample.testDB CASCADE
.png)
É isso que eu queria compartilhar!!! Obrigado por ler😘


