Pesquisar

ダイジェスト
· 2025年11月28日

活动时间延长!InterSystems 2025开发者创意大赛期待您的精彩提交

亲爱的开发者,

🏆InterSystems 2025开发者创意大赛:让梦想落地🏆活动时间延长一周!

活动将由美国东部时间2025 年 11 月 17 日至 12 月 7 日延长至2025年12月14日! (项目提交时间延长至12月7日)

在本次竞赛中,我们希望参赛者能够实现 InterSystems 创意门户网站中任意创建于本公告发布之前(美国东部时间2025年11月7日之前)、状态为Community Opportunity(社区共建机遇)Future Consideration(待研功能提案)的优秀创意。

最新的重要截止日期:

🛠 应用程序开发和注册阶段:

  • 美国东部时间 2025 年 11 月 17 日(00:00):竞赛开始。
  • 美国东部时间 2025 年 12 月 7 日(23:59):提交截止日期。

✅ 投票阶段:

  • 美国东部时间 2025 年 12 月 8 日 (00:00):投票开始。
  • 美国东部时间 2025 年 12 月 14 日(23:59):投票结束。

关于赛事规则及详情,请点击查看👉这篇帖子

如果您已经非常了解规则了,或者已经准备好了您的应用,欢迎👉直达参赛页面,提交您的精彩应用!

お知らせ
· 2025年11月28日

[Video] Query Optimization in Hybrid Databases

Hey Community!

We're happy to share a new video from our InterSystems Developers YouTube:

⏯  Query Optimization in Hybrid Databases @ Ready 2025

This presentation covers query optimization in hybrid databases that use a mix of row-based, columnar, and bitmap indexes. InterSystems Iris supports flexible storage and indexing, but choosing the best combination for performance poses challenges. In version 2025.2, the query optimizer has been enhanced to fully integrate columnar indexing into its cost-based model. This allows the engine to automatically combine different index types, such as using a bitmap index for low-cardinality filters and a columnar index for analytical conditions within the same query.

The result is significant performance gains, with some queries running up to three times faster and minimal need for manual tuning. Future improvements will expand the optimizer to handle more vector operations and continue refining cost-based decision-making.

Presenters:
🗣 Ismail Ben Atitallah, Principal Systems Developer, InterSystems
🗣 Boya Song, Senior Systems Developer, InterSystems

Enjoy watching, and subscribe for more videos! 👍

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

NOVO: Programa de Acesso Antecipado para "Modelos Personalizados do IntegratedML" -- Implante seus modelos de aprendizado de máquina em Python diretamente em SQL

Temos o prazer de anunciar o Programa de Acesso Antecipado para Modelos Personalizados do IntegratedML, um novo e poderoso recurso que estará disponível no IRIS 2026.1!

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

Punctually access specific nodes of an XML document

Hello!
I have the following XML document obtained through a string:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<MainDocument xmlns="urn:hl7-org:v3">
<realmCode code="IT"/>
<title>kjbkjkjbkjb</title>
<effectiveTime value="20090905150716"/>
[.....other tags.....]
<versionNumber value="1"/>
<component>
<body>mhvjhjkvhj</body>
<component>
<section>content</section>
<ID>5</ID>
<title>Certificato</title>
<text/>
<entry>
<Id>5</Id>
[...other tags...]
</entry>
<entry>
<Id>6</Id>
[...other tags...]
</entry>
</component>
</component>
</ClinicalDocument>


I would like to have a way to obtain only the content of the <entry> tags (which can be multiple) without having to scan the whole xml document, since it would be inefficient because of its length. I would like to have an outcome similar to the one coming from EvaluateExpression() but, from my trials and examples found on the internet, it seems that this function can be used only when the tag contains just one value. Does anybody have any idea which might help?

Thank you in advance!

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

Connexion de C# à InterSystems IRIS via ODBC

Pour les développeurs d'applications externes, notamment ceux utilisant des technologies comme C#, ODBC (Open Database Connectivity) est une passerelle standardisée essentielle vers toute base de données relationnelle, y compris InterSystems IRIS. Bien qu'InterSystems propose son propre fournisseur ADO.NET natif, le pilote ODBC reste souvent la solution la plus simple pour l'intégration avec les outils et frameworks de bases de données génériques.

Voici un guide pas à pas pour connecter votre application C# à une instance IRIS à l'aide du pilote ODBC, en mettant l'accent sur la chaîne de connexion sans DSN.

Étape 1 : Installation du pilote ODBC InterSystems IRIS

Le pilote ODBC InterSystems est installé par défaut lors de l'installation d'InterSystems IRIS sur une machine Windows.

  • Si IRIS est installé sur la même machine : le pilote est déjà présent.
  • Si IRIS est installé sur un serveur distant : vous devez télécharger et installer le package du pilote client ODBC autonome correspondant à votre système d’exploitation (Windows, Linux ou macOS) et à son architecture (32 bits ou 64 bits) depuis le site web de WRC si vous êtes client, ou en installant les composants clients et en copiant le pilote ODBC.

Une fois installé, vous pouvez vérifier sa présence dans l’outil Administrateur de sources de données ODBC sous Windows (recherchez le pilote InterSystems IRIS ODBC35).

Étape 2 : Définir la chaîne de connexion sans DSN

Au lieu de créer un nom de source de données (DSN) préconfiguré dans l’outil d’administration Windows, nous utiliserons une chaîne de connexion sans DSN. Cette méthode simplifie le déploiement, car votre application contient toutes les informations de connexion nécessaires.

Le format spécifie le nom du pilote et les paramètres du serveur :

Driver={InterSystems IRIS ODBC35};
server=127.0.0.1;
port=1972;
database=USER;
uid=_System

Remarque :

  • Le nom du pilote (InterSystems IRIS ODBC35 ou parfois InterSystems ODBC) doit correspondre exactement au nom enregistré dans votre administrateur de sources de données ODBC local.
  • Le port est celui du serveur IRIS (souvent 1972).
  • La base de données correspond à l’espace de noms cible dans InterSystems IRIS (par exemple, USER ou l’espace de noms personnalisé de votre application).
  • L’UID par défaut est _System et le mot de passe est SYS. Modifiez toujours ces valeurs par défaut en environnement de production.

Étape 3 : Implémenter la connexion en C#

Dans votre projet C#, vous devrez référencer l’espace de noms System.Data.Odbc pour utiliser le fournisseur ODBC générique .NET.

Voici un exemple minimal en C# qui établit une connexion, exécute une requête simple sur une table par défaut et affiche le résultat.

using System.Data;
using System.Data.Odbc;

public class IrisOdbcExample
{
    public static void Main()
    {
        // 1. Define the DSN-less connection string
        string connectionString =
            "DRIVER={InterSystems IRIS ODBC35};" +
            "Server=127.0.0.1;Port=1972;Database=USER;" +
            "UID=_System;PWD=SYS;";

        // 2. Define the SQL Query (Example: querying the default Sample.Person table)
        string sql = "SELECT ID, Name FROM Sample.Person WHERE ID < 5";

        using (OdbcConnection connection = new OdbcConnection(connectionString))
        {
            try
            {
                connection.Open();
                Console.WriteLine("Connection successful!");

                using (OdbcCommand command = new OdbcCommand(sql, connection))
                using (OdbcDataReader reader = command.ExecuteReader())
                {
                    while (reader.Read())
                    {
                        Console.WriteLine($"ID: {reader["ID"]}, Name: {reader["Name"]}");
                    }
                }
            }
            catch (OdbcException ex)
            {
                // 3. Handle specific ODBC errors (e.g., wrong password, port blocked)
                Console.WriteLine($"ODBC Error: {ex.Message}");
            }
            catch (Exception ex)
            {
                Console.WriteLine($"General Error: {ex.Message}");
            }
            // The connection is automatically closed at
            // the end of the Using block.
        }
    }
}

Étapes suivantes

Cette approche sans DSN offre une grande flexibilité et évite de surcharger la configuration côté client. Pour les applications C# hautes performances, vous pouvez envisager le fournisseur ADO.NET natif d'InterSystems. Toutefois, pour une intégration rapide et une compatibilité optimale avec les outils, une connexion ODBC reste une solution fiable.

❗ N'oubliez pas d'utiliser systématiquement des requêtes paramétrées en production afin de prévenir les vulnérabilités liées aux injections SQL.

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