新しい投稿

検索

記事
· 2026年1月4日 2m read

EnsLib.SQL.Snapshot não é limpo durante a depuração de mensagens quando é usado na mensagem de resposta.

Olá a todos,

Primeiro quero reconhecer @Theo Stolker e @Rupert Young, porque eles me ajudaram com a solução.

Quando vocês usam EnsLib.SQL.Snapshot como uma propriedade na mensagem de resposta para retornar dados do Snapshot (por exemplo, de uma Business Operation para um Business Process), os dados do Snapshot não são limpos com a tarefa/serviço de depuração de mensagens.

Class ResponseMessage Extends Ens.Response

{

    Property SnapshotProp As EnsLib.SQL.Snapshot;

}

Os dados ficarão presos no global: ^Ens.AppData. Vocês podem encontrá-los com esta consulta em System > Globals: ^Ens.AppData("EnsLib.SQL.Snapshot",

A referência é registrada na classe: EnsLib.SQL.Snapshot. Vocês podem consultá-la com SQL: SELECT * FROM EnsLib_SQL.Snapshot ORDER BY ID asc

Esses dados não serão eliminados durante a tarefa de depuração. Portanto, os dados irão crescendo com o tempo. Quando vocês tiverem esse problema, podem limpar todos os dados manualmente com o seguinte método:

  • Limpar a Global: ^Ens.AppData:
    • Pare a produção
    • Executem= no terminal (certifique-se de estar no NameSpace correto): do ##class(Ens.Adapter).ClearStaticAppData("EnsLib.SQL.Snapshot"
    • Reinicie a produção
  • Limpar EnsLib_SQL.Snapshot:
    • Elimine os dados com o SQL: TRUNCATE TABLE EnsLib_SQL.Snapshot

Mas isso não é o ideal, especialmente em ambiente de produção (PRD).

Solução:

Esse problema só ocorre quando os dados são retornados de uma BO para uma BP, ou talvez de uma BP para uma BS, já que a ideia é a mesma.

Uma solução é não usar EnsLib_SQL.Snapshot como propriedade na mensagem de retorno, mas mapear os dados para outro tipo de objeto (por exemplo: JSON como string, ou outros tipos de classe).

Outra solução é fazer com que a tarefa de depuração elimine os dados do Snapshot usando o método %OnDelete:

https://docs.intersystems.com/irislatest/csp/docbook/Doc.View.cls?KEY=GOBJ_callbacks#GOBJ_cb_ondelete

Assim:

Class ResponseMessage Extends Ens.Response
{

    Property SnapshotProp As EnsLib.SQL.Snapshot;

   ClassMethod %OnDelete(oid As %ObjectIdentity) As %Status [ Private, ServerOnly = 1 ]
   {
      set id = $$$oidPrimary(oid)
      set obj = ..%OpenId(id)
    
      return ##class(EnsLib.SQL.Snapshot).%DeleteId(obj.SnapshotProp.%Id())
   }

}

Espero que isso ajude vocês tanto quanto me ajudou!

PS: Publicação relacionada: https://community.intersystems.com/post/setting-enslibsqlsnapshot-vs-enslibsqlsnapshotclean

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

Exemplo ECP "Reloaded" – Implantação de várias instâncias do IRIS em arquitetura ECP

Já faz algum tempo que criei um pequeno exemplo para implantar rapidamente, usando Docker, instâncias do InterSystems IRIS conectadas via ECP. O tempo passou e, como tudo, precisava de uma revisão e atualização...

Então, adaptei-o para que funcione com a última versão do IRIS (atualmente 2025.3) que, entre outras coisas, não inicia mais um servidor web por padrão, o que não é um problema grave, mas deve ser levado em conta.

Simplifiquei os arquivos Docker, atualizei os docker-compose.yml e adicionei ao deploy servidores web específicos para administrar as instâncias que quisermos. O restante da funcionalidade, aplicações de exemplo etc., continua igual. Você encontrará todas as informações no Open Exchange e no repositório do GitHub.

Happy coding!

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

Carregando dados em servidores (locais ou remotos) diretamente pelo VS Code.

Tenho o prazer de anunciar a publicação do gj :: dataLoader, uma nova extensão do VS Code que simplifica a tarefa de carregar dados de arquivos CSV locais em tabelas SQL dos seus servidores InterSystems IRIS.

Aqui está um vídeo introdutório:

gj :: dataLoader já está disponível no Marketplace para instalação direta no VS Code. É a minha proposta para o concurso “Bringing Ideas to Reality” 2025 e coloca em prática esta ideia: https://ideas.intersystems.com/ideas/DPI-I-667

Seus comentários serão bem-vindos.

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

Reviews on Open Exchange - #61

If one of your packages on OEX receives a review, you get notified by OEX only of YOUR own package.   
The rating reflects the experience of the reviewer with the status found at the time of review.   
It is kind of a snapshot and might have changed meanwhile.   
Reviews by other members of the community are marked by * in the last column.

I also placed a bunch of Pull Requests on GitHub when I found a problem I could fix.    
Some were accepted and merged, and some were just ignored.     
So if you made a major change and expect a changed review, just let me know.
 

# Package Review Stars IPM Docker *
1 UNICAS Implementation OLÉ ! 5.5 y y  
2 UDP very handy and easy to follow 5.0   y *
3 Testify clear improvement 4.9 y y  
4 integratedml-demo-template expired license fixed 4.7   y  
5 ConfigSettingsExtract works OK 4.4   y  
6 InterSystems IRIS GraphRAG A huge piece 4.4   y  
7 dc-toon Useful tool 4.0     *
8 iris-localization-lab container is ok 4.0 y y  
9 Kano MDM partner posting        
10 TC52 HC Mobile Computer partner posting        
11 QuWiki partner posting        
12 Veromo Pty Ltd partner posting        
13 Logi Composer partner posting        
14 hackupc ???        


NOTE:
If some review is not readable for you, it might still wait for approval by OEX admins.

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

Construindo fluxos de integração de forma simples com o InterSystems IRIS

🚀 Um exemplo prático integrando REST, CSV, bancos de dados e serviços SOAP

No dia a dia de qualquer organização, a informação flui entre aplicações, serviços e sistemas muito diferentes entre si. Integrá-los de forma eficiente pode ser um desafio… a menos que você use o InterSystems IRIS.

Neste novo vídeo, eu mostro como construir um fluxo completo de integração combinando múltiplas tecnologias — APIs REST, arquivos CSV, bancos de dados e serviços SOAP — tudo dentro do ambiente visual oferecido pelo motor de interoperabilidade do IRIS.

👉 Você pode assistir ao vídeo aqui:

https://www.youtube.com/embed/82xA51nThqQ?si=CzRfwyLSwcKvOGGH
[これは埋め込みリンクですが、あなたはサイト上の埋め込みコンテンツへのアクセスに必要な Cookie を拒否しているため、それを直接表示することはできません。埋め込みコンテンツを表示するには、Cookie 設定ですべての Cookie を受け入れる必要があります。]

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