開発者の皆さん、こんにちは!
1つ前の記事では、VSCodeのObjectScriptエクステンションに追加されたRESTサービスのデバッグツールについてご紹介しましたが、この記事では、RESTクライアントなどからHTTP要求を実行し、処理中のIRIS内プロセスにアタッチしながらデバッグを行う方法についてご紹介します。
開発者の皆さん、こんにちは!
1つ前の記事では、VSCodeのObjectScriptエクステンションに追加されたRESTサービスのデバッグツールについてご紹介しましたが、この記事では、RESTクライアントなどからHTTP要求を実行し、処理中のIRIS内プロセスにアタッチしながらデバッグを行う方法についてご紹介します。
これは InterSystems FAQ サイトの記事です。
JDBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。
そのような場合にJDBCドライバのクライアントログを取得することで、エラーについての詳細情報を取得することができます。
JDBCログの取得方法については以下をご参照ください。
ログを指定する際に、ディレクトリ名を含まずに直接ファイル名を指定した場合、そのアプリケーションのディレクトリにその指定したファイル名でログが出力されます。
ODBCログの様にPID毎に取得する方法は用意されていません。
JDBCログが正常に取得できている場合、以下の様な内容が書き込まれます。
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Started At: 2025/03/27 11:52:16
Driver Name: com.intersystems.jdbc.IRISDriver
Jar File Name: intersystems-jdbc-3.9.0.jar
Client Version: 3.9.0.これは InterSystems FAQ サイトの記事です。
ODBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。
そのような場合にODBCドライバのクライアントログを有効にすることで、エラーについての詳細情報を取得することができます。
ODBCログの有効化については以下をご参照ください。
UNIX系のシステムの場合、上記に記載されている通り、2種類のログが取得できます。
export IRISODBCTRACE=1
export IRISODBCTRACEFILE=/Users/user1/work/odbcclient.log
[ODBC Data Sources]
IRIS ODBC User = IRIS iODBC Driver
[IRIS ODBC User]
Driver = /opt/iris/bin/libirisodbc35.これは InterSystems FAQ サイトの記事です。
ダイナミックオブジェクトの%FromJSONFileメソッドを利用すると簡単にJSON形式のファイルの内容をダイナミックオブジェクトにコピーすることができます。
以下の形式のJSONファイルをそのメソッドを使用して取り込む例は以下のようになります。
{
"ShipTo": {
"City": "Tokyo",
"Street": "Ginza",
"PostalCode": "160-0001"
},
"CustomerId": 1,
"Items": [
{
"ProductId": "MNT001",
"Amount": 2
},
{
"ProductId": "PC001",
"Amount": 2
}
]
} set tempobj = {}.%FromJSONFile("c:¥temp¥sample.json")
set customerid = tempobj.これは InterSystems FAQ サイトの記事です。
ODBCクライアントからのアクセスでエラーが発生した場合、返ってきたエラーメッセージやコンソールログ上の情報だけでは原因がよくわからない場合があります。
そのような場合にODBCドライバのクライアントログを有効にすることで、エラーについての詳細情報を取得することができます
ODBCログの有効化については以下をご参照ください。
Windowsの場合は、上記に記載されている通り、2種類のログが取得できます。
変更の反映にはODBCクライアントアプリケーションを再起動する必要があります。
既定のODBCクライアントログファイル名は IRISODBC.log で、既定の場所は C:¥Users¥Public¥Logs です。
既定のトレースログ名は、SQL.logで、既定の場所は、c:¥Users¥<ユーザー名>AppData¥Local¥Temp¥です。
これは InterSystems FAQ サイトの記事です。
「Maximum/Minimum_Server_Connections」の設定で、ApacheのMPM(Multi Processing Module)設定が、prefork になっている場合、Apache ワーカープロセスあたり2つ以上の IRIS/Caché コネクションを設定しても意味がないために、設定自体出来なくなっております。
※ preforkでは1つのプロセスが1つのスレッドを持ちます。
preforkの詳細は以下をご参照ください
これは InterSystems FAQ サイトの記事です。
InterSystems IRIS では、シャドウイングは非推奨機能となりました。
こちらのトピックでは、これまでにCachéでシャドウイングを使用していたお客様に対して、IRISへの移行後に、代わりに使用できるミラーリングの構成方法をご紹介します。
ミラーリングには機能的に2つの種類があります。
1.同期ミラーによるフェールオーバー(常にデータベースが同期されて複製、障害時に自動でフェールオーバー) 2.非同期ミラー(シャドウイングと同様の機能を提供) - DR非同期(DR構成で利用、フェールオーバーへの昇格が可能、複製DBへの書き込み不可) - レポーティング非同期(データマイニング/BIアプリでの利用、複製DBへの書き込み可能)
シャドウイングに代わって、IRISでは「プライマリ・フェイルオーバー」+「非同期ミラー」でミラーリングを構成する機能を利用することができます。
以下は、シャドウイングとミラーリングのサーバ役割の対比表になります。
※ミラー構成内の1つのインスタンスを “ミラーメンバ” または単に “メンバ” と呼びます。
インターシステムズは、InterSystems IRIS®データプラットフォーム、InterSystems IRIS® for HealthTM、HealthShare® Health Connect のメンテナンスバージョン 2025.1.1 をリリースしました。製品の品質改善のために、開発者コミュニティを通じてぜひご意見をお聞かせください。
詳細な変更リストとアップグレードチェックリストはこちらのドキュメントをご参照ください(すべて英語です):
多くの 早期アクセスプログラムをご用意しております。こちらの ページ からご興味のあるプログラムにお申込みいただけます。
InterSystems IRIS と InterSystems IRIS for Health の通常インストーラパッケージ形式のキットは WRC Direct の IRIS ダウンロードページ から、HealthShare Health Connect のキットは HealthShare ダウンロードページ からそれぞれ入手してください。
インターシステムズは、VS Code - ObjectScript 拡張機能のバージョン 3.0.5 をリリースしました。 本リリースには、多くのバグ修正 および 利用状況データ収集の変更が含まれています。より多くの製品使用データを収集することで、ユーザのみなさまにとって最も良い影響につながる修正と機能強化を特定し、優先順位をつけて実装することが可能となります。 個人を特定できる情報 (PII) が収集されることはありません。また、VS Code の telemetry.telemetryLevel 設定で利用状況データ収集を無効にすることも可能です。 収集されるデータの一覧は こちら をご覧ください。 ObjectScript 拡張機能をご利用いただきありがとうございます。フィードバックがございましたら、お気軽に 問題をご報告 ください。
これは InterSystems FAQ サイトの記事です。
「定期的にプロセスを監視し、あるイベントが発生したときにのみ処理を実行したい」ような場合に使用できる、便利な機能をご紹介します。
もちろん、Forループを行う常駐プロセスを作成してその中で Hang XX しながらIf文にてイベントを検知したり、タスクスケジュールでルーチンを定期実行してその中でIf文にてイベントを検知して処理することも可能です。
今回ご紹介する、%SYSTEM.Event クラスを使用することで、よりシンプルに処理を作成することが可能となります。
【こんな時に便利】
・テーブルやグローバルに、あるデータが全て格納されたら処理を行いたい
・あるエラーを検知したときにのみ、^SystemCheck情報を取得したい
・処理が必要なものがデータベースに入ったら順番に処理を行いたい(pythonだとQueueモジュールのような感じ)
【使用方法】
準備(任意のプロセス)
do $SYSTEM.Event.Create("test")
これで、testというイベントがシステムワイドで作成されます。
パターンA=単純な常駐プロセス
(1) 待機プロセス側
do $SYSTEM.Event.Wait("test")
このコマンドの瞬間、このプロセスは待ち状態になります。
(2) 起こす側
do $SYSTEM.Event.
.png)
InterSystems IRIS 2025.2 から、セキュリティデータが格納される IRISSECURITY データベースが導入されます。これまでセキュリティデータが格納されていた IRISSYS とは異なり、IRISSECURITY データベースは暗号化することが可能です。これにより機密データをより安全に保管することができるようになります。将来のバージョンでは、IRISSECURITYはミラーリングもサポートされる予定です。
このバージョンではあわせて、セキュリティ管理タスク用の %SecurityAdministrator ロールも導入されます。

こんにちは。
7月16日~18日に東京ビックサイトで開催された「国際モダンホスピタルショウ」のインターシステムズのブースにて様々なミニセッションを行いました。
その中で弊社製品の最新情報についてご紹介したミニセッションを”モダンホスピタルショウ「おさらいウェビナー」として、2回にわたり、お届けしています。
展示では伝えきれなかった技術や背景、導入効果などをご紹介します。第2回の本ウェビナーでは以下のトピックを取り上げます
日時:9月3日(水)午後1時30分~2時
テーマ:「~FHIR×OMOP CDMで広がる医療データの価値~InterSystems OMOPのご紹介」
参加費無料・事前登録制
ご登録はこちらから
第2回「~FHIR×OMOP CDMで広がる医療データの価値~InterSystems OMOPのご紹介」
【概要】
OMOP CDM(Observational Medical Outcomes Partnership Common Data Model)は、医療データの二次利用、特に臨床研究やリアルワールドエビデンスの創出において強力な基盤となる、国際的な標準データモデルです。OMOP CDMの概要をご紹介するとともに、FHIRからOMOP CDMへの変換を実現する「InterSystems OMOP」ソリューションについて、デモを交えてご紹介いたします。
こんにちは。
7月16日~18日に東京ビックサイトで開催された「国際モダンホスピタルショウ」のインターシステムズのブースにて様々な展示やミニセッションを行いました。その中で弊社製品の最新情報について”モダンホスピタルショウ「おさらいウェビナー」”と題して、2回にわたりお届けします。
第1回は8月6日(水) 「ホスピタルショウ注目技術をざっくり解説!インターシステムズの最新情報」と題し、展示では伝えきれなかった技術や背景、導入効果などをご紹介します。第一回の本ウェビナーでは以下のトピックを取り上げます。
【こんな方にお勧め】
医療機関でICTやデータ利活用を推進されているご担当者
地域連携・医療デバイスの統合に関心のある方
<お申し込みはこちら>
第1回 8月6日 「ホスピタルショウ注目技術をざっくり解説!インターシステムズの最新情報」
ホスピタルショウに来場された方、されなかった方、どちらも歓迎です!是非ご視聴くださいますよう、ご案内いたします。
これは InterSystems FAQ サイトの記事です。
IRISのプロセスを終了したい場合、管理ポータルから行う方法と、ターミナルからユーティリティやコマンドを使用して行う方法があります。
こちらのトピックでは、以下の3つの方法で停止する方法をご紹介します。
【プロセスの停止方法】 1.管理ポータルから停止する方法 2.ユーティリティーで停止する方法(RESJOB、JOBEXAM) 3.プログラムで停止する方法
【注意】
IRIS外から(Windowsならタスクマネージャーなど)、プロセスの終了は絶対に行わないでください。
IRIS外からプロセス終了してしまうと、IRIS内部ではプロセスの削除を検知できなかったりすることで、IRISの動作が不安定になったり、システム全体がハングする危険性がありますので、ご注意ください。
外部から停止の例外が一つだけあります。
$ZF コマンドによって起動された子プロセスが、何らかの問題で応答を返さなかった場合、$ZF コマンドを実行した親プロセスはそのまま残り続けます。
そのような親プロセスを終了したい場合、通常の上記1~3の方法では停止できません。
その際は、先に外部から子プロセスを停止する必要があります。子プロセスを特定するためには、以下の方法があります。
例:Windowsの場合 1. process explorer(マイクロソフト製) 2.
これは InterSystems FAQ サイトの記事です。
InterSystems 製品の Windows 版インストールキットでは、IIS に対して Web ゲートウェイをインストールするインストールキットの提供はありますが、Windows にインストールした Apache に対するインストールキットが提供されていないため、以下の手順で Web ゲートウェイを構成します。
3、Windows 版 Web ゲートウェイのインストール(※)
5、Apache を Windows サービスにインストールし開始する
(※)Windows 版 Web ゲートウェイのインストールキットは WRC よりダウンロードいただけます。
以下、手順詳細です。
インストール時、インスタンス名を IRISTEST、インストールディレクトリを c:\InterSystems\IRISTEST に設定した流れでの図解で解説しています。
例では、http://Webサーバ/インスタンス名/csp/sys/UtilHome.csp で管理ポータルへアクセスできるようにするための設定例で記載しています。
これは InterSystems FAQ サイトの記事です。
これらすべての操作は $ZCONVERT()関数を利用して操作できます。
詳しくは、ObjectScript CookBook に記載の説明をご参照ください。
開発者の皆さん、こんにちは!
開発者の方々の業務を効率化する有用なツールの開発を目的とした、InterSystems のオンラインプログラミングコンテストの開催が決定しました!📣
🏆 InterSystems Developer Tools コンテスト 🏆
期間:2025年7月14日~8月3日
賞金総額: $12,000
(1).jpg)
これは InterSystems FAQ サイトの記事です。
一般的に、500番台はサーバー側で発生したエラーを表していて、503番エラーはサーバーが何らかの理由で機能を停止していてクライアントの要求に回答できない場合に出現するエラーです。
外部サイトの説明:503エラー 【HTTP 503 Service Unavailable】
以下、InterSystems 製品の使用で発生する503エラーの考えられる原因について一覧します。
原因:ライセンスが割り当てられない場合に発生します(ライセンスが「同時接続ユーザ」での購入である場合、ユーザ数が制限を迎えたためライセンスが割り当てられずこのエラーが発生します)。
アプリケーションが「認証なし」アクセスを使用している場合、以下の原因により503エラーが発生します。
これは InterSystems FAQ サイトの記事です。
各InterSystems製品のサポートOS情報は、製品ドキュメントの「サポートプラットフォーム」情報で確認できます。
製品ドキュメントは、弊社ホームページ > サポート > ドキュメント よりご確認いただけます。
確認したい製品バージョンのドキュメント(例えば、InterSystems IRIS Version 2025.1)を開いていただき、「サポート対象プラットフォーム」リンクからご確認いただけます。
↓↓↓
※Cache & Ensemble の場合は(例えば、Cache & Ensemble Version 2018.1)、ドキュメント上部の Supported Platforms リンク
※過去のバージョンは、
IRIS:
InterSystems IRIS 過去一覧 > バージョン > Supported Platforms > サポート対象プラットフォーム
Cache:
Caché & Ensemble 過去一覧 > バージョン > Supported Platforms > サポート対象プラットフォーム 各OSをサポートするInterSystems製品の一覧は用意しておりませんので、製品バージョンごとのサポートOSをご確認いただく必要があります。 例:
IRIS 2025.
これは InterSystems FAQ サイトの記事です。
InterSystems 製品では、ファイルオープン時に文字コードを指定すれば指定の文字コードで正しくファイルの中身を処理できます。
文字コードを指定しない場合、InterSystems 製品をインストールした OS に合わせて設定されたファイル I/O 用文字コードを利用してファイルをオープンします(Linux 系は UTF8、Windows は SJIS)。
また、文字列については文字コードが判明していれば $ZCONVERT() 関数を使用して指定文字コードで文字列を処理することができます。
例)$ZCONVERT(文字列,"I","IRIS内文字コード")
文字コードが不明な場合、残念ながら InterSystems 製品だけでそのコードを判別することができないため、例えば Embedded Python で Python の chardet パッケージを使用して文字コード判別し、IRIS 内文字コードを取得しファイルオープン、文字列の文字コード変換をすることができます。
chardetパッケージについては、外部サイトですが参考となります。ぜひご参照ください。
参考ページ:[解決!Python]テキストファイルのエンコーディングを調べて、その内容を読み込むには(chardetパッケージ)
以下、具体的な処理内容です。
インターシステムズは、以下の製品が Red Hat Enterprise Linux 10 に対応したことをお知らせします。
今回のリリースでは、Red Hat Enterprise Linux 10 オペレーティング・システムのサポートが追加されました。 RHEL 10 には、Linux カーネル 6.12.0、セキュリティの改善、パフォーマンスの最適化、および開発者ツールの改善が含まれています。
ソフトウェアの入手方法
インストール・パッケージは、 WRC Direct の 製品ダウンロードページ ページから入手できます。 また、評価用キットは、 評価サービス ウェブサイトからも入手できます。
これは InterSystems FAQ サイトの記事です。
ObjectScript で日付の比較を行う場合、一旦 $HOROLOG 形式(内部数値)に変換することで算出しやすくなりますが、SQL 関数を利用して算出することもできます。
ObjectScript から SQL 関数を実行するには、%SYSTEM.SQL.Functions クラスを使用します。
※ 2021.1以前のバージョンでは、%SYSTEM.SQL クラスを使用します。
%SYSTEM パッケージは、システム・オブジェクトと呼ばれ ObjectScript では $SYSTEM 特殊変数を利用して以下の構文で実行します。
$SYSTEM.サブパッケージ名.クラス名.メソッド名() または $SYSTEM.クラス名.メソッド名()
以下、SQL 関数 DATEDIFF を使用して日付の比較を行う例です。
USER>write $system.SQL.Functions.DATEDIFF("dd","2025-01-20","2025-03-20")
59
分での比較
USER>write $system.SQL.Functions.DATEDIFF("mi","2025-01-20","2025-03-20")
84960
秒での比較
USER>write $systemSQL.Functions.これは InterSystems FAQ サイトの記事です。
管理ポータルのシステム管理やシステムエクスプローラーなど最上位のメニューについては、事前定義ロールをユーザに付与することでアクセスを制限することができます。
最下位のメニュー、例えば [システム管理] > [構成] > [システム構成] > [ネームスペース] などは、事前定義ロールの %Manager を付与されたユーザであれば、全てのユーザが利用できてしまいます。
このページに対して、「%Manager ロールを持っているが、あるユーザは使用でき あるユーザは使用できない」のようにユーザ毎のアクセス制限を追加したい場合は、カスタムリソースを作成し再下位メニューに対して作成したカスタムリソースを付与することで制限を追加することができます。
手順は以下の通りです。
具体的な設定の流れは以下の通りです。
これは InterSystems FAQ サイトの記事です。
InterSystems 製品インストール時に用意されている事前定義ロールを利用して、ログインユーザ毎に管理ポータルメニュー(システム管理/システムエクスプローラー/システムオペレーション など)のアクセスを制限することができます。
管理ポータルメニューに対するアクセス制限を行うためには、管理ポータルへの「認証なし(UnknownUser)」アクセス(※1)を使用しない環境が必要です。
管理ポータル上部の「ログアウト」をクリックしてログイン画面が表示されない場合は、関連記事「管理ポータル/スタジオ/ターミナルにパスワード認証を設定するにはどうしたらいいですか?」をご覧いただき必要な設定を行ってください。
以下、インストールデフォルトで管理ポータルへのフルアクセスが許可されている事前定義ユーザ(※2): SuperUser や _SYSTEM アカウントを使用して管理ポータルにログインした状態の設定例でご説明します。
これらユーザのパスワードはインストール時に設定しています(インストール時の「初期セキュリティ」を「最小」でインストールした環境では、パスワードは大文字の SYS が設定されています)。
InterSystems 製品はロールベースのセキュリティを使用しています。
これは InterSystems FAQ サイトの記事です。
こちらの記事では、非ミラー環境にミラー環境でオンラインバックアップしたバックアップファイルをリストアする方法をご紹介します。
手順は大きく分けて2つになります。
以下は、^DBREST ユーティリティによる対話形式のリストア方法になります。
%SYS>do ^DBREST
Cache DBREST Utility
Restore database directories from a backup archive
Restore: 1. All directories
2. Selected and/or renamed directories
3. Display backup volume information
4.このたび InterSystems IRIS 2025.1 の日本語ドキュメントが完成しました。以下のURLでご参照いただけます。
| IRIS 2025.1 | https://docs.intersystems.com/iris20251/csp/docbookj/DocBook.UI.Page.cls |
| IRIS for Health 2025.1 | https://docs.intersystems.com/irisforhealth20251/csp/docbookj/DocBook.UI.Page.cls |
| Health Connect 2025.1 | https://docs.intersystems.com/healthconnect20251/csp/docbookj/DocBook.UI.Page.cls |
| Supply Chain Orchestrator 2025.1 | https://docs.intersystems.com/supplychain20251/csp/docbookj/DocBook.UI.Page.cls |
|
勧告 ID
|
影響を受ける製品と
|
リスクカテゴリー &
|
明示的な発生条件
|
|
DP-439649
|
製品:
バージョン:
|
運用:
システム安定性:
この問題はセキュリティ上の脆弱性ではありません。ユーザーの権限チェックを無効にしたり、承認されたネームスペース外のデータアクセスを可能にするものではありません。 |
暗黙のネームスペースの使用、管理ポータル または データベースに対する読み取り専用/読み取り書き込み混合アクセス。 |
上記にリストされたInterSystems製品において、以下の機能のいずれかを使用している環境で、ネームスペースを切り替えたりグローバル変数にアクセスしたりする際、予期しない <PROTECT> エラーが発生する可能性があります。
InterSystems は、以下のサポート対象製品バージョン 2025.1.0、2024.1.4、2023.1.6、および 2022.1.7 に影響する不具合を解決するために、新しいポイント アップデートをリリースしました。
この問題により、以下の機能を使用する際、予期しない <PROTECT> エラーやアクセス異常が発生する可能性があります:
これらの問題によりアクセス制御やユーザー権限が損なわれることはありませんが、複数のシナリオにおいて、システムの想定された動作に影響を及ぼします。
修正は次のポイントリリースに含まれています。
開発者の皆さん、こんにちは!
開発者コミュニティにスマートで積極的な新しい助っ人が誕生しました!
🤖 開発者コミュニティAIボット 通称 @DC AI Bot です! 🤖
DC AI assistant と同様に、IRIS のベクトル検索を搭載した @DC AI Bot は、さらに一歩進んでいます!
👉 新しく投稿されたすべての質問を自動的にスキャンし、関連する回答が見つかった場合、コメントに返信を残します。
メモ:現時点では、USコミュニティに投稿された質問に対して自動スキャンが行われています。日本語で質問を書いても英語でコメント欄に返信を残してくれるそうです!
