0 Abonnés · 126 Publications

  

InterSystems Caché est un SGBD multi-modèles et un serveur d'applications. Consultez plus de détails ici.

Documentation.

Article Iryna Mykhailova · Jan 12 2m read

Vous envoyez une requête HTTP et recevez une erreur HTTP, mais accompagnée d'une page d'erreur HTML inattendue… Que se passe-t-il ? 🤔

Par exemple, vous avez peut-être essayé de lire une ressource FHIR (par exemple, /Patient/123) et vous obtenez une erreur 404, alors qu'avec d'autres identifiants de patient, vous recevez bien la ressource. La page existe donc bel et bien… Pourquoi obtenez-vous une erreur 404 ? 🙄

La réponse à ces questions est liée au comportement du serveur web IIS face aux erreurs.

IIS propose trois options d'affichage des erreurs :

  • Afficher uniquement les pages d'erreur personnalisées
  • Afficher les erreurs serveur détaillées
  • Pour les requêtes locales, afficher les erreurs détaillées ; pour les requêtes distantes, afficher les pages d'erreur personnalisées.
0
0 32
Article Thibault Odor · Déc 26, 2025 1m read

Il est possible d’exécuter des requêtes SQL directement depuis le terminal à l’aide de la méthode $system.SQL.Shell().

Voici un exemple d'exécution.

SAMPLES>do $System.SQL.Shell()
SQL Command Line Shell
---------------------------------------------------- The command prefix is currently set to: <>.
Enter q to quit, ? for help.
SAMPLES>>select * from Sample.Vendor
1. select * from Sample.Vendor Vendor Balance Contact DaysClear DiscDays DiscRate LastInvDate LastPayDate MinPayment Name NetDays PayFlag TaxReportingAddress_City Address_State Address_Street Address_Zip
: *Si vous appuyez sur entrée sans
0
0 34
Article Sylvain Guilbaud · Nov 24, 2025 3m read

Récemment, j'ai remplacé mon ancien ordinateur portable par un nouvel ordinateur et j'ai dû migrer toutes mes données. Je cherchais un guide, mais je n'ai rien trouvé décrivant en détail comment migrer les connexions serveur d'InterSystems Studio et de Visual Studio Code d'un PC à un autre. Il ne suffit pas de réinstaller les outils, et migrer toutes les connexions manuellement semblait être une perte de temps. J'ai finalement réussi à résoudre le problème, et vous trouverez dans cet article la marche à suivre.

InterSystems Studio

Exportation des connexions serveur

La migration des connexions

0
0 53
Article Sylvain Guilbaud · Oct 29, 2025 14m read

Aperçu

Cette interface Web est conçue pour faciliter la gestion des tables de recherche de données (Data Lookup Tables) via une page Web conviviale. Elle est particulièrement utile lorsque les valeurs de votre table de recherche sont volumineuses, dynamiques et changeantes. Les utilisateurs finaux peuvent gérer efficacement les données de la table de recherche en fonction de leurs besoins grâce à un accès contrôlé à cette interface Web (autorisations de lecture, d'écriture et de suppression limitées à cette page).

Les données gérées via cette interface peuvent être utilisées de manière transparente pour les règles HealthConnect ou les transformations de données, ce qui élimine le besoin d'une surveillance et d'une gestion manuelles constantes des tables de recherche et permet ainsi un gain de temps considérable.

Remarque:
Si la table de recherche de données classique ne répond pas à vos besoins en matière de mappage, vous pouvez créer une table personnalisée et adapter cette interface Web ainsi que sa classe de support avec un minimum de modifications. Un exemple de code de classe est disponible sur demande.

0
0 49
Article Lorenzo Scalese · Oct 28, 2025 10m read

Le déploiement de nouvelles instances IRIS peut être une tâche fastidieuse, en particulier lors de la mise en place de plusieurs environnements avec des configurations en miroir.

J'ai fait face à ce problème très souvent et je souhaite partager mon expérience et mes recommandations concernant l'utilisation d'Ansible pour rationaliser le processus d'installation d'IRIS. Mon approche inclut également la gestion des tâches supplémentaires généralement effectuées avant et après l'installation d'IRIS.

Ce manuel suppose que vous disposez d'une compréhension de base du fonctionnement d'Ansible, je ne



0
0 40
Article Lorenzo Scalese · Sept 23, 2025 8m read

Mes clients me contactent régulièrement à propos du dimensionnement de la mémoire lorsqu'ils reçoivent des alertes indiquant que la mémoire libre est inférieure à un seuil ou lorsqu'ils constatent que la mémoire libre a soudainement diminué. Existe-t-il un problème? Leur application va-t-elle cesser de fonctionner parce qu'elle manque de mémoire pour exécuter les processus système et applicatifs? La réponse est presque toujours non, il est inutile de s'inquiéter. Mais cette réponse simple n'est généralement pas suffisante. Que se passe-t-il?

Considérez le graphique ci-dessous. Il montre le rés




image





0
0 54
Article Sylvain Guilbaud · Sept 5, 2025 1m read

Rubrique FAQ InterSystems

Si vous souhaitez générer une erreur personnalisée arbitraire dans un bloc TRY, vous pouvez transmettre une exception avec un throw comme suit. Dans l'exemple suivant, une erreur personnalisée est générée si Stcount est inférieur à 1.

Class User.Test
{

ClassMethod ExceptionTest()
 {
    try
    {
      // : some codesif (Stcount<1) {
          throw##class(%Exception.General).%New("User-defined error", "5001", "location", "Data at location error")
          // User-created errors are 5001 and above
      }
    }
    catch ex
    {
      write
0
1 34
Article Sylvain Guilbaud · Août 29, 2025 1m read

Rubrique FAQ InterSystems

Par défaut, l'ordre des colonnes d'une table est déterminé automatiquement par le système. Pour modifier cet ordre, définissez explicitement l'ordre de chaque propriété à l'aide du mot-clé SqlColumnNumber lors de la définition de la classe.

Exemple :

Property Name As %String [SqlColumnNumber = 2];

Veuillez consulter la documentation ci-dessous.

SqlColumnNumber

Si vous souhaitez modifier le nom de la table SQL, spécifiez SqlTableName. Si vous souhaitez modifier le nom de la colonne (nom du champ), spécifiez SqlFieldName.

Les deux s’appliquent uniquement aux clas

0
0 24
Article Sylvain Guilbaud · Juil 8, 2025 3m read

Si vous migrez d'Oracle vers InterSystems IRIS, comme beaucoup de mes clients, vous risquez de rencontrer des modèles SQL spécifiques à Oracle nécessitant une conversion.

Prenons l'exemple suivant:

SELECT (TO_DATE('2023-05-12','YYYY-MM-DD') - LEVEL + 1) AS gap_date
FROM dual
CONNECT BY LEVEL <= (TO_DATE('2023-05-12','YYYY-MM-DD') - TO_DATE('2023-05-02','YYYY-MM-DD') + 1);

Dans Oracle:

  • LEVEL est une pseudo-colonne utilisée dans les requêtes hiérarchiques (CONNECT BY). Elle commence à 1 et s'incrémente de 1.
  • CONNECT BY LEVEL <= (...) détermine le nombre de lignes à générer.
  • La différence entre




0
0 49
Question Franck Hanotin · Juil 3, 2025

Bonjour,

j'essaie de faire une connexion avec un serveur SFTP avec 

set ssh = ##class(%Net.SSH.Session).%New()

set Status=ssh.Connect(Server,FtpPort)

set Status=ssh.AuthenticateWithKeyPair(User,"E:\Datas\export\ClePublic.txt","E:\Clé ssh\id-rsa.ppk","")

et là j'ai l'erreur:

TOOLS>zw Status                                                                

Status="0 "_$lb($lb(7510,-19,"SSH Error [80101013]: Waiting for USERAUTH response [80101013] at F:\2024-1-1-347-0\dev\modules\CacheSSH\Session.cpp:498,0",,,,,,,$lb(,"TOOLS",$lb("e^ssherror+4^%Net.SSH.Session.1^1","e^AuthenticateWithKeyPai

1
0 74
Article Sylvain Guilbaud · Avr 22, 2025 3m read

Rubrique FAQ InterSystems

Les variables globales temporaires stockées dans les bases de données IRISTEMP/CACHETEMP sont utilisées lorsqu'un processus n'a pas besoin de stocker des données indéfiniment, mais requiert les performances élevées des variables globales. Les bases de données IRISTEMP/CACHETEMP ne sont pas journalisées ; leur utilisation ne crée donc pas de fichiers journaux.

Le système utilise les bases de données IRISTEMP/CACHETEMP pour le stockage temporaire et les utilisateurs peuvent y accéder à cette fin.

Pour plus d'informations sur les variables globales temporaires et la b








0
0 37
InterSystems officiel Adeline Icard · Mars 6, 2025

À partir de la version 2025.1 de la plateforme de données InterSystems IRIS®, InterSystems abandonne officiellement MultiValue et l'inclut dans la liste des fonctionnalités obsolètes et abandonnées. Bien qu'InterSystems continue de prendre en charge les clients existants qui utilisent MultiValue, cette fonctionnalité n'est pas recommandée pour les nouvelles applications.

Ce que cela signifie pour vous :

  • Support continu : la prise en charge de MultiValue sera toujours disponible via le Worldwide Response Center (WRC) dans la mesure du possible, comme c'est le cas pour les versions antérieur
0
0 36
Article Sylvain Guilbaud · Mars 11, 2024 6m read

Définition de la variable d'environnement TZ sur Linux

La liste de contrôle de la mise à jour (Update Checklist) pour v2015.1 recommande de définir la variable d'environnement TZ sur les plates-formes Linux et renvoie à la page de manuel de tzset. Cette recommandation vise à améliorer les performances des fonctions de Cache liées à l'heure. Vous pouvez en savoir plus à ce sujet ici:

https://community.intersystems.com/post/linux-tz-environment-variable-not-being-set-and-impact-caché

La page de manuel de mon système de test CentOS 7 ( la même chose pour RHEL 6) indique ce qui suit:

“La fonction

1
0 564
Article Guillaume Rongier · Jan 24, 2025 6m read

Dans le cadre du concours Open Exchange, l'hôpital Salford Royal (Dean White et Mark O'Reilly) a développé une API REST pour SharePoint, un modèle qui fonctionne mais qui peut aussi servir de point de départ à vos propres applications REST 

Conditions préalables

Lorsque vous utilisez la v1 du service REST de l'API de Sharepoint, vous avez besoin d'un identifiant locataire, d'un identifiant client, d'un code secret client et d'un nom de locataire 

Configuration 

Configuration d'un serveur OAuth

 

Le code au milieu est l'identifiant locataire 

Créez un nom de config client comme vous le souhaite

0
0 64
Annonce Iryna Mykhailova · Jan 17, 2025

Depuis quelques mois, nous avons automatisé l'analyse du code source des projets sur Github, afin que toute personne possédant un projet open source puisse faire analyser son code sans frais.

Il vous suffit de créer le fichier ".github/workflows/objectscript-quality.yml" dans votre projet avec le contenu suivant :

name: objectscriptquality
on: push

jobs:
  linux:
    name: Linux build
    runs-on: ubuntu-latest

    steps:
    - name: Execute ObjectScript Quality Analysis
      run: wget https://raw.githubusercontent.com/litesolutions/objectscriptquality-jenkins-integration/master
0
0 55
Article Robert Cemper · Sept 15, 2024 3m read

Vous connaissez probablement cette situation :
il y a quelque temps, vous avez trouvé une fonction $ZU très spéciale pour
un type de problème spécifique. Une sorte de formule mystique.
Elle est devenue populaire et a été utilisée par de nombreux programmeurs
dans tout votre code et toutes vos installations .

Plusieurs versions et updates plus tard, vous êtes informé par ISC que
votre $ZU mystique est déprécié et n'est plus supporté. Et on vous conseille
de le remplacer par un nouveau $something(). 

Alors, comment trouver et documenter l'utilisation de votre code mystère ?
Il pourrait se trouver dan

0
0 82
Article Guillaume Rongier · Août 29, 2024 4m read

   

📜 Sainte Thècle, verset  8: "Étendez votre souris sur l'écran, et l'océan de données ouvrira un chemin devant vous!!"

Bonjour la communauté, tout d'abord, toutes mes excuses si quelqu'un a été offensé par le blasphème 😔

Avez-vous déjà pensé d'avoir séparé le code source et les données de la base de données, ce qui serait intéressant? Peut-être aimeriez-vous pouvoir sauvegarder votre code sans avoir à copier des giga-octets d'informations de vos données clients.

Je vais vous expliquer les étapes à suivre pour séparer votre océan de code source et de données d'espace de noms dans deux b

0
0 77
InterSystems officiel Adeline Icard · Juil 15, 2024

Du 15 octobre 2024, la prise en charge de Caché & Ensemble sur MacOS sera obsolète.

Caché & Ensemble 2018.1.9 continuera d'être pris en charge, mais il n'y aura pas d'autres versions de maintenance pour MacOS. Cela signifie que Caché & Ensemble 2018.1.9 sera la version finale de ces produits sur MacOS.

Pour rappel, les versions de maintenance pour Caché et Ensemble sur les autres plateformes prises en charge prendront fin le 31 mars 2027.  Plus de détails à ce sujet peuvent être trouvés dans l'annonce de l'année dernière.

0
0 58
Article Pierre LaFay · Juin 26, 2024 3m read

  

Bonjour à la communauté,

Dans cette série d'articles, nous allons explorer les options d'utilisation d'InterSystems SQL suivantes :

  1. Embedded SQL

  2. Dynamic SQL

  3. Class Queries

Vue d'ensemble de SQL

InterSystems SQL fournit un ensemble complet de fonctionnalités relationnelles standard, y compris la possibilité de définir un schéma de table, d'exécuter des requêtes et de définir et d'exécuter des procédures stockées. Vous pouvez exécuter InterSystems SQL de manière interactive à partir du portail de gestion ou de manière programmatique à l'aide d'une interface shell SQL. Embedded





0
0 62
Article Pierre LaFay · Juin 26, 2024 2m read

InterSystems FAQ rubric

Le type TIMESTAMP correspond au type de données %Library.TimeStamp (=%TimeStamp) dans les produits InterSystems, et le format est YYYY-MM-DD HH:MM:SS.nnnnnnnnn.

Si vous souhaitez modifier la précision après la virgule, définissez-la à l'aide de la méthode suivante.

1) Définir la précision à l'échelle du système

Portail de gestion : [Administration du système] > [Configuration] > [Paramètres SQL et objets] > [Paramètres SQL généraux] 
Précision de l'heure par défaut pour GETDATE(), CURRENT_TIME, CURRENT_TIMESTAMP. Vous pouvez spécifier le nombre de chiffres entre 0 et

0
0 53
Article Pierre LaFay · Juin 26, 2024 1m read

InterSystems FAQ rubric

Pour désactiver le délai d'attente, réglez le délai d'attente de la requête sur désactivé dans les paramètres DSN :

Panneau de configuration de Windows > Outils d'administration > Sources de données (ODBC) > Configuration DSN du système

Si vous cochez la case Désactiver le délai d'attente des requêtes, le délai d'attente sera désactivé.

Si vous souhaitez le modifier du côté de l'application, vous pouvez le définir au niveau de l'API ODBC.

Définissez l'attribut SQL_ATTR_QUERY_TIMEOUT lorsque vous appelez la fonction ODBC SQLSetStmtAttr avant de vous connecter à la s

0
0 76
Article Pierre LaFay · Juin 26, 2024 2m read

InterSystems FAQ rubric

La procédure de téléchargement à partir d'un serveur FTP est la suivante.

1. Télécharger le fichier image sur le serveur FTP

 set tmpfile="c:\temp\test.jpg"
 set ftp=##class(%Net.FtpSession).%New() 
 // connect to FTP server
 do ftp.Connect("","<username>","<password>")
 // set transfer mode to BINARY
 do ftp.Binary()
 // Move to the directory to upload
 do ftp.SetDirectory("/temp/upload")
 // Prepare a stream of files to upload  
 set file=##class(%File).%New(tmpfile)
 do file.Open("UK\BIN\")
 // upload file
 // 1st argument: File name to create at upload destination
 // 2nd arg


0
0 79
Article Pierre LaFay · Juin 24, 2024 5m read

InterSystems FAQ rubric

Les données des produits InterSystems (données de ligne de table, données d'instance d'objet) sont stockées dans des variables globales.
La taille des données de chaque variable globale peut être obtenue en cliquant sur les propriétés de la variable globale que vous souhaitez visualiser sur la page Portail de gestion > Système > Configuration > Base de données locale > Globales, puis en cliquant sur le bouton Calculer la taille sur la page Attributs globaux qui s'affiche.
Pour afficher la taille des données des globaux dans un espace de noms, vous pouvez appeler l'utilit

0
0 65
Article Iryna Mykhailova · Juin 17, 2024 2m read

FAQ InterSystems

Vous pouvez utiliser la classe %IndexBuilder pour effectuer une reconstruction d'index à l'aide de plusieurs processus. L'exemple suivant a pour but de définir l'index standard HomeStateIdx pour la colonne Home_State (informations d'état de l'adresse de contact) de Sample.Person.

Les étapes sont les suivantes:

1. Masquez le nom de l'index à ajouter/reconstruire à partir de l'optimiseur de requêtes.

>write$system.SQL.SetMapSelectability("Sample.Person","HomeStateIdx",0)
1

2. Ajoutez %IndexBuilder à la superclasse la plus à droite de la définition de classe qui définit le

0
0 68
Article Pierre LaFay · Juin 12, 2024 1m read

InterSystems FAQ rubric

Si vous souhaitez exécuter un fichier exécutable du système d'exploitation, une commande ou un programme créé dans un produit InterSystems au démarrage de ce dernier, écrivez le traitement dans la routine SYSTEM^%ZSTART. (La routine %ZSTART est créée dans l'espace de noms %SYS).

Avant d'écrire du code dans la routine SYSTEM^%ZSTART, assurez-vous qu'il fonctionne correctement dans toutes les conditions.

Si la routine ^%ZSTART est mal écrite, ou si elle est écrite correctement mais que la commande ne renvoie pas de réponse ou qu'une erreur se produit pendant le traitem

0
0 51
InterSystems officiel Sylvain Guilbaud · Juin 4, 2024

À partir de la sortie de la plateforme de données InterSystems IRIS® 2022.3, InterSystems a corrigé le mécanisme d'application des licences pour inclure les requêtes REST et SOAP. En raison de ce changement, les environnements dotés de licences non basées sur le cœur qui utilisent REST ou SOAP peuvent connaître une plus grande utilisation des licences après la mise à niveau. Pour déterminer si cet avis s'applique à votre licence InterSystems, suivez les instructions de la FAQ liée ci-dessous.

Ce tableau résume l'application :

Produit

Requêtes REST et SOAP incluses dans l'applica

0
0 85
Article Iryna Mykhailova · Mai 13, 2024 1m read

Dans Studio, vous pouviez ouvrir une classe directement par son nom, sans avoir à parcourir l'arborescence du paquetage par de multiples clics jusqu'à ce que vous arriviez à la classe souhaitée.

Vous pouvez faire Ctrl + O ou (File -> Open) et taper simplement le nom de la classe, par exemple :

Appuyez sur la touche "Enter" et la classe est ouverte.

Comment y parvenir en VSCode ?

0
0 207