検索

質問
· 2025年4月9日

Validacion de un XML contra un esquema XSD

Estoy intentando validar el contenido de un XML contra un esquema XSD, para validar la estructura (nodos obligatorios, etc...)

Estoy intentando utilizar la clase Ens.Util.XML.Validator, como se sugiere en este post:

https://community.intersystems.com/post/validate-xml-message-against-xsd...

Pero al invocar al metodo ValidateStream, si en el schemaSpec le dejo el parametro vacio, simplemente valida que sea una estructura XML correcta.

Al pasarle cualquier valor en schemaSpec, da un error de "SAX XML Parser Error: Unable to Resolve SystemId"

 

¿Algun ejemplo de como indicar el schemaSpec en la validacion? (la ruta del XSD en el disco, por ejemplo, o un esquema XML cargado en el namespace)

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

Setting Up an ODBC/JDBC Linked Table Connection to MySQL from Iris

Due to MySQL's interpretation of SCHEMA differing from the common SQL understanding (as seen in IRIS/SQL Server/Oracle), our automated Linked Table Wizard may encounter errors when attempting to retrieve metadata information to build the Linked Table.

(This also applies to Linked Procedures and Views)

When attempting to create a Linked Table through the Wizard, you will encounter an error that looks something like this:

ERROR #5535: SQL Gateway catalog table error in 'SQLPrimaryKeys'. Error: ' SQLState: (HY000) NativeError: [0] Message: [MySQL][ODBC 8.3(a) Driver][mysqld-5.5.5-10.4.18-MariaDB]Support for schemas is disabled by NO_SCHEMA option
 

To create a Linked Table to a MySQL database which employs “no-schema” structure (the default behavior), please follow the instructions below:

  1. Create an SQL Gateway Connection:
  • Set up the SQL Gateway connection as usual.
  • Ensure the "Do not use delimited identifiers by default" checkbox is checked.
  • Click "Test Connection" to confirm the connection is successful.

  1. Use the Terminal based API to Create the Linked Table:
  • Utilize the following API $SYSTEM.SQL.Schema.CreateLinkedTable() The CreateLinkedTable() method  uses the following parameters:

CreateLinkedTable(dsn As %String, externalSchema As %String, externalTable As %String, primaryKeys As %String, localClass As %String = "User.LinkedClass", localTable As %String, ByRef columnMap As %String = "")

  • Example: In this example, we use the MySQL system table help_keyword with name as the primary key:

USER>do $SYSTEM.SQL.Schema.CreateLinkedTable("MyDSN", "", "help_keyword", "name", "User.LinkedClass", "LocalTable")

Please ensure all parameters are correctly specified to avoid any errors during the setup process.

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

Ei Chat, o que está rolando com a minha Interoperabilidade?

E se você pudesse conversar em um chat para verificar o que acontece na Interoperabilidade, se há algum erro e até mesmo resolver alguns tipos de problemas?

Com o servidor MCP, você pode conectar qualquer um de seus Clientes MCP por exemplo, Claude, ao IRIS e pedir para verificar a Interoperabilidade.

O que você precisa é de uma configuração simples do Claude.

  • Instale o próprio Claude Desktop 
  • instale o uv, que ajuda com pacotes Python

As configurações do Claude na seção de Desenvolvedor podem ajudar a encontrar um arquivo de configuração

Com uma configuração simples, como aqui, requer apenas acesso ao IRIS, nada precisa ser instalado no IRIS.

{
  "mcpServers": {
    "iris": {
      "command": "uvx",
      "args": [
        "mcp-server-iris"
      ],
      "env": {
        "IRIS_HOSTNAME": "localhost",
        "IRIS_PORT": "1972",
        "IRIS_NAMESPACE": "USER",
        "IRIS_USERNAME": "_SYSTEM",
        "IRIS_PASSWORD": "SYS"
      }
    }
  }
}

Após reiniciar o Claude, ele deverá exibir que algumas ferramentas MCP estão agora disponíveis. Clicar ali mostrará todas as ferramentas disponíveis.

Com o Claude sabendo sobre as ferramentas disponíveis e, pela instrução (prompt) que você fornecer, ele pode selecionar qual ferramenta melhor se adapta para ajudar com a consulta.

 

Acho que funciona bem, vamos verificar se há erros.

Somos capazes de ver a resposta real da ferramenta. E o Claude analisou a saída e extraiu os erros que encontrou, sugerindo por que os erros podem acontecer e até oferecendo maneiras de resolvê-los.

Atualmente, a implementação deste Servidor MCP não oferece nenhuma capacidade de edição de código, não vamos pedir para corrigir o código. Mas podemos tentar recuperar a produção

Restart pode ajudar

Aqui estamos, tudo certo agora..

Bem, já que nossa produção está funcionando bem agora, vamos dar uma olhada nos dados que já podemos ter coletado.

Para ajudar com isso, o Claude usará uma ferramenta que pode executar consultas SQL.

Mesmo que eu tenha colocado o nome da classe em vez do nome da tabela, ele descobriu que não existe tal tabela, mas não desistiu e, em uma única sessão, conseguiu descobrir o nome real da tabela e buscar alguns dados.

Quando tenta obter mais informações sobre os dados coletados, tenta até adivinhar os nomes das colunas.

Encontrou as colunas reais, mas teve dificuldades com palavras-chave reservadas e não tentou usar "FOUND".

E com uma tentativa final...

Decidiu simplificar, mas usando o conhecimento sobre os nomes das colunas, acertou e forneceu um resumo.

 

Neste estágio, o MCP parece estar no início de sua jornada, mas ainda assim temos uma ferramenta muito boa.

Se você gostou desta ferramenta, por favor, vote na atual OpenExchange Contest

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

Online Meetup with the Winners of the AI Programming Contest

Hi Community,

Let's meet at the online meetup with the winners of the AI Programming Contest: Vector Search, GenAI and AI Agents! It's a great opportunity to chat with the InterSystems Experts team and our contestants.

Winners' demo included!

Date & Time: Thursday, April 10, 12:00 pm EDT | 6:00 pm CEST

Join us to learn more about winners' applications and to have a talk with our experts.

➡️ REGISTER TODAY

See you all at our virtual meetup! 

1 Comment
ディスカッション (1)2
続けるにはログインするか新規登録を行ってください
InterSystems公式
· 2025年4月8日

Alerte : InterSystems IRIS 2024.3 – Problème d'analyse JSON AIX et incompatibilités IntegratedML

Résumé des alertes

Alert ID Produit et versions concernés Exigences explicites
DP-439207 Plateforme de données InterSystems IRIS® 2024.3 (AIX) Installations AIX utilisant le traitement JSON et les caractères Unicode non-Latin-1
DP-439280 InterSystems IRIS 2024.3 (conteneurs avec IntegratedML) Conteneurs IntegratedML utilisant TensorFlow

 

Détail des alertes

DP-439207 - Problème d'analyse JSON Unicode AIX

Un bug a été identifié dans InterSystems IRIS 2024.3.0 sur les instances AIX. Il affecte l'analyse des chaînes JSON Unicode. Ce problème survient lorsque la méthode %FromJSON() ou %FromJSONFile() analyse des chaînes contenant des caractères dont la valeur est inférieure à $CHAR(256) suivis de caractères Unicode dont la valeur est supérieure à $CHAR(255). Le processus de conversion transforme incorrectement les premiers caractères en $CHAR(0), ce qui entraîne une corruption silencieuse des données. Ce problème concerne uniquement la version AIX 2024.3 des produits suivants :

  • InterSystems IRIS
  • InterSystems IRIS for Health
  • HealthShare® Health Connect

Évaluation d'impact

  • Dans ce cas, des caractères incorrects peuvent être stockés dans la base de données ou transmis aux interfaces sans générer d'erreur.
  • Le défaut a été introduit dans IRIS 2024.3.0 et a été résolu avec DP-439207.
  • Workflows concernés : Ce problème se produit uniquement sur les installations Unicode exécutant AIX et affecte les applications traitant des données contenant un mélange de caractères ASCII et Unicode.

Résolution

Si vous utilisez InterSystems IRIS 2024.3.0 sur des instances AIX, vous devez effectuer la mise à niveau vers InterSystems IRIS 2025.1.0 dès que possible.

Actions requises

  1. Identification des systèmes concernés :
  • Déterminez si vous exécutez InterSystems IRIS 2024.3.0 sur une instance AIX avec des bases de données Unicode et si vous utilisez un mélange de caractères Unicode et non Unicode.
  1. Mise à niveau :
  • Procédez à la mise à niveau vers InterSystems IRIS 2025.1.0 dès que possible.

DP-439280 - Problèmes TensorFlow du conteneur IntegratedML

Les clients utilisant l'une des versions conteneurisées suivantes d'IRIS 2024.3 peuvent rencontrer des erreurs d'apprentissage lors de l'utilisation d'IntegratedML.

containers.intersystems.com/intersystems/iris-ml:2024.3

Évaluation d'impact

  • Les clients utilisant IntegratedML sur les conteneurs IRIS 2024.3 fournis par InterSystems rencontreront des échecs d'apprentissage du modèle en raison de problèmes de compatibilité avec TensorFlow et les dépendances associées.

Résolution

  • Les clients souhaitant utiliser IntegratedML avec IRIS ou IRIS for Health dans des conteneurs sont encouragés à créer leurs propres conteneurs en suivant les conseils publiés sur la communauté des développeurs.

Actions requises par le client

  • Pour continuer à utiliser IntegratedML avec AutoML, les clients doivent gérer manuellement les dépendances à l'aide du gestionnaire de paquets pip, comme décrit ci-dessus. Cela garantit la compatibilité et le bon fonctionnement des composants AutoML tels que scikit-learn dans votre environnement Python IntegratedML.

Pour plus d'informations

Si vous avez des questions ou avez besoin d'aide, veuillez contacter le InterSystems Worldwide Response Center (WRC).

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