发布新帖

查找

文章
· 五月 2, 2024 阅读大约需 2 分钟

Qué hacer con el error 5369: la clase está siendo compilada actualmente por proceso

Preguntas frecuentes de InterSystems

Este error ocurre cuando una instancia de la clase ya está abierta en el momento de la compilación.

Hay dos formas de abordar este problema:

  1. Terminar el proceso o aplicación que tiene la instancia abierta
  2. Opciones de compilación en el menú de compilación de Studio: marque el indicador de compilación "Compilar clases en uso" y compile.

Si desea determinar qué proceso está utilizando la clase, pruebe la rutina de ejemplo siguiente.

 

/// Test.mac
search(classname) public {
    Set pid=""
    Set pid=$order(^$Job(pid))
    While pid'="" {
        Do checkVars(pid,classname)
        Set pid=$Order(^$Job(pid))
    }
} checkVars(pid,string) {
    Set $ztrap="err"
    Set var="" 
    For {
        Set var=$zu(88,1,pid,var) q:var=""  
        Set val=$zu(88,2,pid,var)
        If val[string {
            Write !,pid,":",var," = ",val,!
        }
    }
    Quit err
    Set $ztrap=""
    Quit
}

Esta rutina de muestra busca las variables locales en los procesos del usuario para ver si usan la clase especificada.

≪Ejemplo de ejecución≫

USER>do search^Test("Test.Person")
 
2352:p1 = 1@Test.Person
6324:p2 = 2@Test.Person

*En este caso, los procesos con Pid=2352 y Pid=6324 están usando Test.Person.

讨论 (0)1
登录或注册以继续
文章
· 五月 2, 2024 阅读大约需 3 分钟

LinuxでODBC接続を行う方法

こちらの記事では、LinuxでODBC接続の設定を行う方法をご紹介します。


はじめに、Linuxのバージョンを確認します。

$ cat /etc/os-release
NAME="Red Hat Enterprise Linux"
VERSION="9.4 (Plow)"
:


1. yumパッケージのアップデートを行います

$ sudo yum update


2. unixODBCをインストールします

$ sudo yum install unixODBC

確認します

$ which odbcinst
/usr/bin/odbcinst
$ which isql
/usr/bin/isql
$ odbcinst -j
unixODBC 2.3.9
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /home/ec2-user/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8


3. IRISクライアントをインストールします

※Linuxのバージョンにあったインストーラを使用してください。

$ cd IRIS-2024.1.0.262.0-lnxrh9x64

$ sudo ./irisinstall_client
Your system type is 'Red Hat Enterprise Linux 9 (x64)'.
Enter a destination directory for client components.
Directory: /intersystems/iris
Directory '/intersystems/iris' does not exist.
Do you want to create it <Yes>?
Installation completed successfully


4. 構成ファイルの作成をします

※SYSTEM DATA SOURCES: /etc/odbc.ini に以下を追加します

[ODBC Data Sources]
InterSystemsODBC6435 = InterSystemsODBC6435

[InterSystemsODBC6435]
Description=InterSystems ODBC
Driver = /intersystems/iris/bin/libirisodbcur6435.so
Setup = /intersystems/iris/bin/libirisodbcur6435.so
Unicode SQLTypes = 1
Host=***.***.***.***
Namespace=USER
UID=_SYSTEM
Password=SYS
Port=1972
$ sudo vi /etc/odbc.ini 


5. 環境変数:ODBCINIの登録をします 

※すべてのユーザで使用できるよう、環境変数を永続化させます。

$ sudo vi /etc/profile

# ---- 以下を追加
export ODBCINI=/etc/odbc.ini

(設定を反映させるために、一度ログアウトして再度ログインします)

$ echo $ODBCINI
/etc/odbc.ini

※ご参考:初期化ファイルの名前と場所


6. IRISへのODBC接続確認をします

$ isql -v InterSystemsODBC6435
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL> SELECT count(*) FROM INFORMATION_SCHEMA.TABLES
+---------------------+
| Aggregate_1         |
+---------------------+
| 429                 |
+---------------------+
SQLRowCount returns 1
1 rows fetched
SQL>

 

今回は、IRISクライアントインストールで試しましたが、ODBCドライバ単体のインストールも可能です。
詳細は以下のドキュメントをご覧ください。
UNIX® システムでの ODBC のインストールと検証


ODBCデータソースの定義についての詳細は、以下のドキュメントをご覧ください。
UNIX® での ODBC データ・ソースの定義
 

enlightened【ご参考】
PyODBC経由でIRISに接続するAWS Lambda関数を作成するまでの流れ
LinuxでJDBC接続を行う方法

讨论 (0)0
登录或注册以继续
InterSystems 官方
· 五月 2, 2024 阅读大约需 1 分钟

警告:"NOT %INLIST" を使用した SQL クエリが結果を返さない

警告:"NOT %INLIST" を使用した SQL クエリが結果を返さない

インターシステムズは、一部の SQL クエリが不正な結果を返す原因となる 3 つ
の不具合を修正しました。 影響を受けるクエリの詳細については、以下を参照し
てください。

この問題は、以下の製品のリストにあるバージョンに存在します:

  • InterSystems IRIS® data platform
  • InterSystems IRIS for Health™
  • HealthShare® Health Connect

同様に上記製品をベースとしたその他のインターシステムズ製品

影響を受けるバージョン:

  • 2021.1.3, 2021.1.4
  • 2022.1.3, 2022.1.4
  • 2023.1.0, 2023.1.1, 2023.1.2, 2023.1.3
  • 2024.1.0

以下の条件を満たすクエリで、誤った結果を返す可能性があります:
    WHERE 節に NOT %INLIST が含まれている
    そのリストに NULL 値がある

この不具合の修正は DP-430793 で解決します。この修正は、2022.1.5、2023.1.4、2024.1.1
以降のすべてのバージョンに含まれる予定です。修正はアドホックによる配布でも可能です。

こちらのアラートに関するご質問は、カスタマーサポートセンター(jpnsup@intersystems.com)までお問い合わせください。

讨论 (0)1
登录或注册以继续
InterSystems 官方
· 五月 2, 2024

Alerte : la requête SQL utilisant « NOT %INLIST » ne parvient pas à renvoyer les résultats

Alerte : la requête SQL utilisant « NOT %INLIST » ne parvient pas à renvoyer les résultats

InterSystems a corrigé un problème qui pouvait entraîner le renvoi de résultats incorrects par un petit nombre de requêtes SQL. Voir ci-dessous pour les détails des requêtes concernées.

Ce problème existe dans les versions répertoriées des produits suivants :

  • Plateforme de données InterSystems IRIS®
  • InterSystems IRIS for Health™
  • HealthShare® Health Connect

Ainsi que:

  • Autres produits InterSystems basés sur les produits ci-dessus.

Versions concernées :

  • 2021.1.3, 2021.1.4
  • 2022.1.3, 2022.1.4
  • 2023.1.0, 2023.1.1, 2023.1.2, 2023.1.3
  • 2024.1.0

Seules les requêtes avec les conditions suivantes peuvent renvoyer des résultats erronés :

  • La clause WHERE contient un NOT %INLIST
  • Il y a une valeur NULL dans la liste

La correction de ce défaut est identifiée comme DP-430793 et sera incluse dans toutes les futures versions du produit à partir des versions 2022.1.5, 2023.1.4 et 2024.1.1. Il est également disponible via une distribution ad hoc.

Si vous avez des questions concernant cette alerte, veuillez contacter le Worldwide Response Center.

讨论 (0)1
登录或注册以继续
问题
· 五月 1, 2024

Parsing a JSON message with

I have the JSON message below. I am struggling with parsing the data in the OtherProcedures section. That section can be null, or have from one to many other procedures. Any help is greatly appreciated. I have tried using/setting an iterator to go thru the data but not having any success with that. 

{
    "Action": "1",
    "CaseNumber": "",
    "MessageId": "",
    "ControlId": "",
    "Patient": "idz",
    "DateOfOperation": "20240401",
    "PrimarySurgeon": "you",
    "AttendingSurgeon": "me",
    "SurgicalSpecialty": "12",
    "PrincipalOperativeProcedure": "Ingenuial Hernia Repair",
    "PrincipalPreOperativeDiagnosis": "Hernia Surgery",
    "LateralityOfProcedure": "2",
    "PlannedAdmissionStatus": "I",
    "PlannedPrincipalProcedureCode": "29848",
    "ICD10Code": "K40.00",
    "HospitalAdmissionStatus": "I",
    "MajorOrMinor": "J",
    "CaseScheduleType": "EL",
    "Palliation": "Y",
    "PlannedPostOpCare": "PACU for 4 hrs",
    "RequestAnesthesiaTechnique": "S",
    "intraoperativeXRays": "Y",
    "ReferringPhysician": "mine",
    "ConsultId": "692",
    "Scheduler": "scheduler",
    "OtherProcedures": [
        {
            "otherProcedure": "Liposuction",
            "plannedOtherProcCPTCode": "15772",
            "otherProcedureCodeComments": "Adding a second procedure."
        },
        {
            "otherProcedure": "colonoscopy",
            "plannedOtherProcCPTCode": "44389",
            "otherProcedureCodeComments": "Adding a third procedure."
        }
    ]
}

5 Comments
讨论 (5)2
登录或注册以继续