検索

記事
· 3 hr 前 3m read

Criando Tabelas Estrangeiras usando SQL via JDBC

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.

 

 

😀 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

 

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 

 

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. 😁

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.)

 

Ao estudar o documento abaixo, podemos criar diretamente uma tabela estrangeira usando SQL.😁👍

Foreign Tables

Então, vamos novamente para a página de execução SQL. System Explorer > SQL

 

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'

 

 

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'

Vamos verificar o resultado na lista de tabelas.

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

 

 

35 registros da tabela Outlets foram retornados!!! Isso!! Conseguimos 🎉🤣

 


Apenas para referência

Removendo a Foreign Table demo.outlet 

DROP FOREIGN TABLE demo.outlet

 

 

Removendo o Foreign Server Sample.testDB 

DROP FOREIGN SERVER Sample.testDB CASCADE

 

É isso que eu queria compartilhar!!! Obrigado por ler😘

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
お知らせ
· 3 hr 前

Key Questions of the Month: December 2025

Hey Community,

It's time for the new batch of #KeyQuestions from the previous month.

Question Images - Free Download on Freepik

Here are the Key Questions of December chosen by InterSystems Experts within all Communities:

📌 XDBC memory leaks by @Dmitrii Baranov (EN)

📌 Single- and multi-user development environments and source control by @Michael Derr (EN)

These questions will be highlighted with the #Key Question tag, and their authors will get the Key Question badge on Global Masters.

If you find the key question(s) from other communities interesting, just drop us a line in the comments, and we will translate the question(s) and the accepted answer(s).

Congrats, and thank you all for your interesting questions. Keep them coming!

See you next month😉

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
質問
· 6 hr 前

Alternative Recovery Management

Alternative Recovery Management is a debt collection agency that works with creditors to recover overdue or unpaid accounts. The company may contact consumers through phone calls, letters, or electronic communication regarding outstanding balances. As a third party debt collector, Alternative Recovery Management is required to follow applicable debt collection laws, including providing accurate debt information, respecting consumer rights, and avoiding unfair or harassing collection practices.

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
記事
· 16 hr 前 1m read

Visualização gráfica do tamanho do banco de dados com CSP

Uma tentativa anterior contou com o auxílio de um método externo em Python.
Este aqui é totalmente CSP clássico, escrito com ISOS, JavaScript e HTML.

Além do gráfico, você também obtém números concretos, coletados recentemente da sua instância local ou de instâncias remotas que também tenham o pacote instalado.

Resultado final

Etapas do processamento

  • Uma página CSP é chamada por sua URL
  • No método OnPreHTTP
    • A System Query preenche a tabela temporária a partir de %SYS
    • Se o parâmetro correto da URL for fornecido
    • ?SERVER=IP-Address[:SuperServerPort[:Username[:Password]]]
    • Os dados reais são obtidos desse servidor usando a Native API para ObjectScript

GitHub
 

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください
ディスカッション (0)1
続けるにはログインするか新規登録を行ってください