Bonjour à tous,

Je cherche la syntaxe ou le moyen pour utiliser une classe créée dans le Namespace "BNA" (mon application) depuis le Namespace %SYS.

Voici le contexte :

Je dispose d'une application "BNA" contenue dans le NS "BNA", cette application met à disposition une fonctionnalité de création des utilisateurs. Cette fonctionnalité crée à la fois l'utilisateur dans une table de l'application et dans le système Iris.

2 5
0 80

Est-il prévu que LOAD DATA prenne en compte plusieurs formats de DATE/DATETIME avec, par exemple un paramètre de indiquant le format utilisé dans les données sources ?

exemple :

LOAD DATA .../...
USING
{
  "from": {
    "file": {
       "dateformat": "DD/MM/YYYY"
    }
  }
}
2 3
0 82
Question
· Oct 24, 2023
Stream dans un objet dynamique

Bonjour,

J'ai un petit soucis je souhaite renvoyé via une API REST des données IRIS mais j'ai une erreur sur le renvoi de données de type Stream.GlobalBinary, j'essaie de faire un "CopyFrom" via $METHOD mais je récupère un "INVALID OREF" :

2 3
1 88

Est-il possible d'utiliser Django avec InterSystems Iris, dont les classes sont implémentées en ObjectScript ?

Class EpErp.ARTICLES Extends (%Persistent, %JSON.Adaptor, %XML.Adaptor) [ ClassType = persistent, SqlTableName = ARTICLES ]

{

Parameter IDPROPERTY = "IDARTICLES";

Property IDARTICLES As %BigInt [ SqlColumnNumber = 2, SqlFieldName = IDARTICLES ];

Property dhDateCreation As %TimeStamp [ SqlColumnNumber = 3, SqlFieldName = dhDateCreation ];

Property sCode As %String(MAXLEN = 30) [ SqlColumnNumber = 4, SqlFieldName = sCode ];

1 7
0 100
import os

# Récupérer les variables d'environnement
db_host = os.getenv('DB_HOST')
db_port = os.getenv('DB_PORT')
db_namespace = os.getenv('DB_NAMESPACE')
db_username = os.getenv('DB_USERNAME')
db_password = os.getenv('DB_PASSWORD')

# Créer une connexion à la base de données
conn = irisnative.createConnection(db_host, db_port, db_namespace, db_username, db_password)

# Créer une instance IRIS à partir de cette connexion
iris_native = irisnative.createIris(conn)

status = iris_native.classMethodValue('%SYSTEM.OBJ', 'Load', 'Production.cls', 'ck')

if status == 1:
1 4
1 98

Bonjour à tous!

Mes collègues et moi se demandions pourquoi la classe varstring était "cachée" dans la documentation Intersystems .
Est-ce qu'on peut l'utiliser sans problèmes ? On a essayé de chercher sur le forum, et d'autres développeurs ont l'air de l'utiliser. Est-ce qu'il y a des spécificités ou des risques que nous devrions connaître avant de l'utiliser ?

Merci beaucoup!

Alan

1 1
0 24

Je recherche dans DBeaver un moyen efficace permettant de filtrer les tables systèmes (ex: appartenant à un schéma commençant par "%").

En utilisant un utilisateur possédant le rôle %All, DBeaver nous affiche une longue liste de schémas systèmes, qui nous oblige à descendre la liste avant d'accéder aux tables utilisateurs.

En créant un utilisateur dans IRIS avec des droits restreints permet de réduire cette liste, mais on perd l'intérêt du rôle %All.

1 3
0 390

Bonjour,

Je souhaite faire un appel synchrone d'un process. En entrée je reçois un flux json qui me déclenche mon business process mais tant que ce flux n'est pas analysé je ne souhaite pas récupérer un autre flux json tant que le premier n'est pas terminé.

Pour cela j'ai crée un business Service faisant un appel au targetconfigname, or le SendRequestSync ne fonctionne pas, celui ci a le même comportement que le SendRequestAsync :

1 12
2 93
Question
· Oct 17, 2023
Dézipper avec objectScript

Bonjour,

Je cherche à dézipper un fichier zip que je récupère via HTTP avec ObjectScript.

Je récupère de ma requête HTTP un %Stream.GlobalBinary, et via mon BusinessOperation, je crée le fichier Zip.

J'aimerais savoir s'il y a une méthode pour dézipper directement le %Stream.GlobalBinary et avoir le dossier dézipper en sortie ?

Ou sinon quelle méthode permet de dézipper un fichier Zip en ObjectScript ?

Merci d'avance pour votre aide

1 3
0 73
Question
· Jan 17, 2024
Requête LDAP

Bonjour,

je dois faire une requête LDAP pour récupérer des infos sur une équipe spécifique d'employés. J'ai un service custom qui instancie un message de type EnsLib.LDAP.Message.Search avec un filtre correspondant à la recherche et qui le redirige vers une opération de type EnsLib.LDAP.Operation.Standard. Je ne récupérais pas d'erreur mais pas de résultat non plus. J'ai donc créé une opération qui hérite de EnsLib.LDAP.Operation.Standard et j'ai surchargé la méthode pour récupérer qqch. Je récupère ceci :

0 3
1 109

Bonjour, j'ai un problème avec un appel et j'aurais besoin d'aide.

Lorsque j'appelle une API avec la méthode SendFormDataArray de l'adaptateur EnsLib.HTTP.OutboundAdapter, je lui passe un objet %Net.HttpRequest et je reçois l'erreur suivante :

ERROR #5002: ObjectScript error: <SUBSCRIPT>MatchSuffix+1^%Net.HttpRequest.1 ^%qPublicSuffix("")

J'ai correctement saisi l'url dans mon business operation et je la passe dans le dernier paramètre de la méthode SendFormDataArray. Avez-vous une idée, s'il vous plaît ?

0 0
0 38

En utilisant IRIS 2024.1.2 lorsque je monte la base de données de routine en lecture seule, j'obtiens une erreur lors de l'exécution de requêtes SQL dynamique.

Quelles globales doivent être mappées dans une base de données en lecture-écriture afin de permettre l'écriture des plans d'exécutions ?

0 0
0 22

Bonjour à tous,

Nous développons une application avec FrontEnd (angular) et BackEnd (objectscript Iris), nous utilisons l'identification intégrée grâce à la route /login fournie par %CSP.REST. Nous n'utilisons pas IAM, nous attaquons l'API directement.

Nous avons besoin de générer un traitement suite à un login qu'il soit réussi ou non (enregistrement dans une log applicative).

0 0
0 44
Question
· Fév 13, 2024
Sécurité du login

Bonjour à tous,

Nous développons une application avec FrontEnd (angular) et BackEnd (objectscript Iris), nous utilisons l'identification intégrée grâce à la route /login fournie par %CSP.REST. Nous n'utilisons pas IAM, nous attaquons l'API directement.

Pour éviter les attaques automatisées, nous avons mis une temporisation sur le login (1s entre chaque tentative). Cela protège donc l'API dans le cadre de son utilisation via l'application.

0 5
0 64

Bonjour,

je me suis rendue compte que j'avais cette erreur qui est survenue sur une interop qui tournait depuis quelques mois :

"BP completion cleanup error deleting BP instance Id: 1133, ERREUR #5540: SQLCODE : Message -106 : Échec de suppression de la ligne de la table « xxx.Context » avec %rowid=« 1012 », la ligne avec cet ID n'a pas été trouvée."

Nous n'avons pas fait de modification à ce moment là et je ne trouve pas d'où vient l'erreur. Nous avions fait plus tôt un changement de namespace mais c'était bien plus tôt.

0 2
0 22

Bonjour,

Je rencontre une situation embarassante avec mon environnement de développement InterSystems IRIS et Visual Studio Code.
Je n'arrive pas à pousser un fichier modifié à dessin, (hors push automatique lors du save) et si quelqu'un à la réponse mille merci.

Contexte :
J'ai une instance IRIS en cours d'exécution sur un serveur.
Mon poste client utilise Visual Studio Code avec l'extension InterSystems ObjectScript.
Je me suis volontairement abstenu d'utiliser Git pour simplifier la problématique.

0 2
0 55