これは InterSystems FAQ サイトの記事です。
Embedded Pythonでトランザクションを実装するために、以下のようなAPIが用意されています。
import iris
iris.tlevel()
intval = iris.tstart()
iris.tcommit()
iris.trollbackone()
iris.trollback()詳細はドキュメントをご覧ください。
これは InterSystems FAQ サイトの記事です。
Embedded Pythonでトランザクションを実装するために、以下のようなAPIが用意されています。
import iris
iris.tlevel()
intval = iris.tstart()
iris.tcommit()
iris.trollbackone()
iris.trollback()詳細はドキュメントをご覧ください。
InterSystems は、より新しく優れたオプションが利用可能になったときに従来のテクノロジーの開発を中止することがあります。
ただし、それら機能は最小サポートバージョン以後の製品であれば他の機能と同等にサポートします。
非推奨(Deprecated)とは、InterSystems が現在積極的に開発を行っておらず、より優れたオプションが存在する機能またはテクノロジーを意味します。
非推奨の機能やテクノロジーを使用されているお客様はそれらを使用しないように計画していただく必要がございます。
InterSystems は非推奨の製品機能をサポートするためのスタッフの専門知識を維持しております。
例: ICM, NLP, Studio, UIMA, Spark Connector, Atelier, Zen, Zenレポート, Cache Server Pages (CSP)
廃止された(Discontinued)とはその機能またはテクノロジーが既存アプリケーションであっても今後利用できなくなることを意味します。
InterSystems はそのような技術を使用し続けることがお客様のリスクであると考えます。
理由には以下が挙げられますが、これらに限定するものではありません。
これは InterSystems FAQ サイトの記事です。
以下は、EXCELのシートから指定したセルのデータを取得してその値を返すメソッドの例です。
Class User.test
{
ClassMethod getSheetValue(n, m) As %String [ Language = python ]
{
# n行目 m列 のデータを戻す
filename = 'c:/temp/a.xlsx'
# Python openpyxl を利用
# https://openpyxl.readthedocs.io/
import openpyxl
from openpyxl import Workbook
wb = openpyxl.load_workbook(filename)
ws = wb['Sheet1']
ws.title='Python'
c = ws.cell(n,m)
quit c.value
}
}これは InterSystems FAQ サイトの記事です。
$ZF(-100)で外部コマンドを実行する場合、その外部コマンドの子プロセスからの応答が返らない限り、$ZF(100)コマンドを発行したIRISプロセスはその応答を待って残り続けます。
従ってIRISプロセスを終了させるためにはその応答がない子プロセスを強制終了させる必要があります。
InterSystems IRISのSQLの性能を評価する簡単なベンチマークテストを公開します。
また、このベンチマークプログラムで測定した過去の様々なハードウェアでのベンチマーク結果も公開します。
ハードウェアの進歩、インターシステムズの新しいテクノロジーの追加や性能改善によって、性能が劇的に変化しています。
現在のハードウェアの性能を考慮すると、少し物足りない感じが否めないですが、過去との結果の公正な比較という意味であえて、データの規模に関しては過去と同一条件でベンチマーク実施した結果となっています。
データの規模に関してはデータ件数を増やすことで変更できるようになっています。(現時点では500万件)
またこのベンチマークプログラムはインターシステムズ製品用に実装されていますが、使用しているテーブル構造は比較的シンプルなもので、また使用しているSQL文も標準的なものなので、他データベースシステムでも同じベンチマークを実施することはそんなに困難ではありません。
これは、InterSystems FAQサイトの記事です。
Pythonで、IRISサーバ外部から、IRISの処理を呼び出したりIRISのデータを扱いたい場合には、Native API for Pythonを使用します。
モジュールのインポートは、
import irisnative
で、行います。
詳細は、下記ドキュメント及び、各関連トピックをご参照ください。
[ドキュメント] InterSystems Native SDK for Python
一方、IRISサーバ内からPythonでIRISにアクセスする場合は、組み込みPython(Embedded Python)を使用することができます。
モジュールのインポートは、
import iris
で行います。
詳細は、下記ドキュメント、及び、各関連トピックをご参照ください。
[ドキュメント] 組み込みPython
これは、InterSystems FAQサイトの記事です。
【任意のXMLドキュメントの読み込み】
任意のXMLドキュメントの読み込みを行うには、%XML.TextReaderクラスを使用します。
Parseメソッド(※ドキュメントがファイルの場合はParseFile())を使用してドキュメントをパースし、各ノードのプロパティを取得します。
例えば、下記のXMLの場合、
各赤枠が、"ノード"の単位となり、

下記のようなイメージで取得することができます。
インターシステムズは、InterSystems IRIS Data Platform の2024.1 リリースを一般提供開始(GA)したことを発表しました。
2024.1 は、拡張メンテナンス(EM)リリースです。
【リリースハイライト】
今回のリリースには、以下のような数々の興味深いアップデートが含まれます:
1. ObjectScript でのベクトルの使用: データ操作を最適化する強力な機能
2. ベクトル検索 (実験的機能): 効率的なデータ検索のための最先端機能
3. マルチボリュームデータベース: スケーラビリティとストレージ管理の強化
4. ファスト・オンライン・バックアップ(実験的機能): バックアッププロセスの合理化
5. 複数のスーパーサーバポート: ネットワーク構成の柔軟性を提供
6. その他多数!
【ドキュメント】
注目機能の詳細は、以下のリンクからご覧いただけます。
InterSystems IRIS 2024.1 (英語)
本バージョンではプライベートWebサーバを使用した管理ポータル/Webアクセスが非推奨となりました。
詳細については以下もご参照ください。
https://jp.community.intersystems.
これは InterSystems FAQ サイトの記事です。
SQLのINSERT/UPDATE/DELETE文で大量のデータを更新する際に、高速化する方法をご紹介します。
以下の2つの手順を実行することで、更新処理のパフォーマンスを向上させることが可能です。
1.INSERT/UPDATE/DELETE時にインデックスを作成せず、あとでまとめて作成する
2.INSERT/UPDATE/DELETE時にジャーナルをOFFにする
1は、%NOINDEX キーワードを指定してインデックスの生成を後でまとめて行うことで、インデックスの構築を抑制しパフォーマンスを向上させる方法です。
クエリ実行例は、以下のようになります。
例:
UPDATE %NOINDEX tablename …
INSERT %NOINDEX INTO tablename …
DELETE %NOINDEX FROM tablename ...
更新後、あとでまとめてインデックスを再構築する場合は管理ポータルで行う方法と、コマンドで行う方法の2種類があります。
◆ 管理ポータルの場合...
[システムエクスプローラ] > [SQL]
(ネームスペース指定&テーブルを選択して) アクション - テーブルのインデックスを再構築...
◆ コマンドの場合...
Set sc = ##class(Schems.いつもお世話になっております。
IRISコミュニティ版を去年の4月ごろから使わせていただいておりましたが、期限切れを示唆するメッセージが出力されましたので質問させていただきます。
https://jp.community.intersystems.com/post/intersystems-iris%EF%BC%8Fin…
上記URLを拝見したところ「キーの期限を迎えた場合は、コミュニティ版の新バージョンに切り替えることで新しいキーが適用されます。」と記載されておりました。そこで、2点ほど質問がございます。
(1)新バージョンに切り替えることは具体的にどのように手順を踏めばよろしいでしょうか?
(2)新バージョンに切り替えたことで、今まで使用していたインスタンスの中身(テーブルやクラスなど)は復元や継承は可能でしょうか?
お手数をおかけしますが、教えていただけると幸いです。よろしくお願いいたします。
開発者の皆さん、こんにちは。
インターシステムズの講師付きトレーニング「システム統合機能(Interoperability)の使い方」3日間(有料)を下記日時で開催します!
開催方法は、Teams会議とブラウザ経由でアクセスする演習環境(Windows)を利用したオンラインでの開催です。(ブラウザと安定したネットワーク環境があれば特にその他準備は不要です。)
コースでは、InterSystems IRIS または InterSystems IRIS for Health(以降IRIS)のインストールから開始し、開発環境の作成、VSCodeを利用した簡単なクラス定義の作成、ObjectScriptを使用したオブジェクト操作の練習を行った後、本題のシステム統合機能(Interoperabiityメニュー)の解説と演習に入ります。
コースで用意している外部システムへのアクセスとしては、データベースとファイル入出力があります。進み具合にもよりますが、お時間ある時はREST経由で情報を受信する方法も演習いただけます。
なお、Interoperabilityについては、コミュニティのシリーズ記事「【はじめてのInterSystems IRIS】Interoperability(相互運用性)を使ってみよう!」でもご紹介しています。
これは InterSystems FAQ サイトの記事です。
Ens.Directorクラスのクラスメソッドを使用して取得できます。
プロダクション名(FAQSample.Interop.Production)とホスト名(FAQSample.Interop.FileOperation)を指定して設定リストを取得する方法は以下の通りです。
Set status=##class(Ens.Director).GetHostSettings("FAQSample.Interop.Production||FAQSample.Interop.FileOperation",.tSettings)以下、出力結果です。
USER>zwite tSettings
tSettings("AlertGroups")=""
tSettings("AlertOnError")=0
tSettings("AlertRetryGracePeriod")=0
tSettings("ArchiveIO")=0
tSettings("BusinessPartner")=""
tSettings("FailureTimeout")=15
tSettings("InactivityTimeout")=0
tSettings("OutputFileName")="test.これは InterSystems FAQ サイトの記事です。
永続クラス定義(またはテーブル定義)に対してオブジェクト操作でデータの参照・更新を行うとき、オブジェクトオープンで使用する%OpenId()、オブジェクトの削除に使用する%DeleteId()の第2引数を使用して並行処理の制御方法を選択できます。
ご参考:オブジェクト同時処理のオプション
既定値は1です。(永続クラスのDEFAULTCONCURRENCYクラスパラメータでデフォルト値を指定できます。特に変更していない場合は 1を使用します)
並行処理の基本事項は以下の通りです。
並行処理の値別の動作の違いは以下の通りです。(ドキュメントの「並行処理の値」に表がありますので併せてご覧ください)
これは InterSystems FAQ サイトの記事です。
ユーザに権限を与えたい場合、「GRANT」コマンドや「GrantPrivilegeメソッド」を使用しますが、ロールに対しても権限を与えることができます。
例えば、特定スキーマにのみ何でもできるロールを作成し、それを特定のユーザに割り当てるようなことが可能となります。
こちらの記事では、その方法をご紹介します。
(1) GrantPrivilegeメソッドを使用して「スキーマXXX に何でもできるロール」を作成し、
(2) 該当ユーザに (1) のロールを割り当てる
★GRANT文を使う場合
GRANT <priv> ON SCHEMA <your schema> TO <role>
例:ロール testRole に、スキーマ XXX に対する、挿入/更新/参照/削除 の権限を付与します。
GRANT Insert,Update,Select,Delete ON SCHEMA XXX TO testRole
※その他、Alter, References, Execute, Use などの指定も可能です。こちらは、まだ存在しないスキーマに対しても実行可能です。
XXXスキーマにテーブルが登録されれば、自動的にそのテーブルに対して指定した権限が有効になります。
★$SYSTEM.SQL.Security.
2024.1 の開発者プレビュープログラムの一環として、4番目の開発者プレビューを公開いたします。リリースされる製品は InterSystems IRIS®, InterSystems IRIS® for HealthTM, HealthShare® Health Connect になります。
2024.1では、多くの機能修正や性能強化に加え、ObjectScript でのベクターの使用, ベクター検索 (実験的機能), マルチボリューム・データベース, 高速オンラインバックアップ の利用 (実験的機能),複数のスーパーサーバーポート の導入 といった新機能が追加されています。また本リリースには、フレキシブル環境での Python 実行 や Smart on FHIR 2.0.0 サポートなど、多くの機能進化が含まれています。
👉 注: これら新機能の一部は、今回の開発者プレビュー版にはまだ含まれていません。
2024.1 の別の注目点は、Health Connect では プライベート・ウェブサーバ (PWS) がインストーラから削除されることです。InterSystems IRIS インストーラからは、すでに2023.2 以降プライベート・ウェブサーバは削除されています。こちらの ドキュメント をご参照ください。
2024年最初のプラットフォーム最新情報をお届けします。初めてご覧になる方、はじめまして! この記事では、最近おこなわれた変更点や今後予定されている変更点に関する情報を、みなさまに共有させていただきます。ただ、将来の予測は難しい側面があり、ロードマップは約束されたものではないということを十分ご理解くださいませ。
コミュニティの皆さん、こんにちは!
この記事では、私の最新のアプリケーションである Journal File Indexer をご紹介します。 このアプリケーションの開発は、ポータルアイデアの DPI-I-270 に基づいています。
簡単に言えば、このアプリケーションではデータベースでログファイルを読み込んでインデックス作成できます。
管理ポータルでログファイルの検索機能を使用したことがあるなら、タイムアウトエラーになったり、ページが空になったりしたことがあるのではないでしょうか。 この問題は通常、大規模なジャーナルファイルを検索する場合に発生します。 Journal File Indexer は、ファイルをデータベースに読み込んで、検索速度を大幅に高めることで、この問題を解決します。
復元プロセス中にはもう 1 つの問題が発生します。 ログファイルでグローバルエントリを検索し、古い値または新しい値を復元したくても、管理ポータルにはこの特定の機能がありません。 そのため、これを達成するにはルーチンをコーディングする必要があります。 Journal File Indexer を使うと、この復元機能を統合できます!
毎月ご好評をいただいておりますインターシステムズ主催 開発者向けオンラインセミナーにつきまして
4月は「IRIS 2024.1 の管理用Webサーバ(PWS)廃止に備えて」のテーマで開催いたします。
日時:4月23日(火)13:30~14:00
オンライン形式(参加費無料・事前登録制)
<概要>
Caché / IRISで今まで同梱されていたシステム管理ポータル用Webサーバ(PWS: Private Web Server)
機能がIRIS2024.1からはインストールされなくなりました。
このセッションではIRIS 2024.1の新規インストールやアップグレードを計画されている方を対象に
PWS廃止の背景や目的、必要となる作業について説明します。ご覧いただく事で安心してアップグレードいただけるようになります。
<こんな方にお勧め>
IRIS 2024.1の新規インストールやアップグレードを計画されている方
ご多用中とは存じますが、皆様のご参加をお待ち申し上げております。
これは InterSystems FAQ サイトの記事です。
InterSystems IRIS との通信に SSL/TLS を使用する際のクライアントの構成は、使用する技術によって変わってきます。
1. ODBCクライアント、IRISクライアントから接続の場合(IRISスタジオやターミナルなど)
2. .NET クライアントから接続の場合(SSLDefs.iniは要りません)
ODBCやIRISクライアントから接続する場合は、以下の記事にある設定が必要となります。
具体的には、SSLDefs.iniという設定ファイルを作成し、決められた場所に配置します。
【ご参考】
スーパーサーバやTelnetポートでSSLを有効にする際のクライアントの設定
注意:
設定ファイル (SSLDefs.ini) の使用には、以下の制限が適用されます。
DollarListは、Pythonのための$LIST()インタープリタです。
このインタプリタが作成された理由は以下の通りです。
この機能は、開発途中です。現時点では、$LIST()の中に、$LIST()、int 、string のデータを含めることができます。
作成中タイプ:fload、decimal、double
このモジュールはPypiで利用できます:
pip3 install iris-dollar-list
Embedde PythonとNativeAPIに対応しています。
これは InterSystems FAQ サイトの記事です。
InterSystems製品のInteroperability(相互運用性機能)を利用する際、REST経由で情報入力を行う場合の作成方法についてサンプルプロダクションを利用しながらご紹介します。
サンプルはこちら👉https://github.com/Intersystems-jp/FAQ-Interop-REST
Hello, community!
IrisApiTester アプリを作成した後、それにもっと可能性があることに気付き、いくつか調整することで強力なコラボレーションツールになるのではないかと考えました。
そこで、以下の事について検討してみました。
可能な答えを考えた末、試してみることにしました。 作業を終えると、すべての回答が(ある程度)肯定であることがわかりました。 最終的には、この記事を書いて、この経験を皆さんと共有することに決めました。 知識の交換に役立ち、できればアプリケーションを一緒に改善していければと思います。
この記事は役に立つと思います。 新しいアプリケーションを検討するきっかけになるかもしれませんし、アジャイルな方法で実行できることを知らなかったテストを、このヒントでやっと実行できるようになることに気付くでしょう。
簡潔にするために、この記事を複数のセクションに分けています。 そのため、直接必要な箇所を読むことも、全文を読むこともできるように構成されています。
コミュニティの皆さん、こんにちは!
IrisApiTester の新しいバージョンを公開しました。以下のようないくつかの新機能が含まれています。
外部リポジトリ:
Postman のコレクションテストが格納される外部リポジトリを構成できるようになりました。
開発者の皆さん、こんにちは!
InterSystems 技術文書ライティングコンテストの開催が決定しました!《USコミュニティのコンテストです》
✍️ 技術文書ライティングコンテスト: InterSystems IRIS チュートリアル ✍️
2月19日~3月24日の期間で、InterSystems IRIS のプログラマを対象に、初心者/中級者/上級者のレベルを問わないチュートリアルとなるような記事を投稿してください!
🎁 参加賞(全員): コンテストに参加いただいた皆様全員に参加賞があります!(参加賞とは別に特別賞もあります!)
(3).jpg)
2024.1 の開発者プレビュープログラムの一環として、3番目の開発者プレビューを公開いたします。リリースされる製品は InterSystems IRIS®, InterSystems IRIS® for HealthTM, HealthShare® Health Connect になります。
2024.1では、多くの機能修正や性能強化に加え、ObjectScript でのベクターの使用, ベクター検索 (実験的機能), マルチボリューム・データベース, 高速オンラインバックアップ の利用 (実験的機能),複数のスーパーサーバーポート の導入 といった新機能が追加されています。また本リリースには、フレキシブル環境での Python 実行 や Smart on FHIR 2.0.0 サポートなど、多くの機能進化が含まれています。
👉 注: これら新機能の一部は、今回の開発者プレビュー版にはまだ含まれていません。
2024.1 の別の注目点は、Health Connect では プライベート・ウェブサーバ (PWS) がインストーラから削除されることです。InterSystems IRIS インストーラからは、すでに2023.2 以降プライベート・ウェブサーバは削除されています。こちらの ドキュメント をご参照ください。
インターシステムズは、Caché, Ensemble, Health Connect HSAP のメンテナンスリリース(MR) 2018.1.9をリリースしました。本リリースは、幅広い領域で多くのアップデートが行われたメンテナンスリリースです。
製品のフルインストールキットは、WRC の Software Distribution ページからダウンロードすることができます。
このリリースでの修正点の詳細は、Release Changes Notes (英語のみ) を参照してください。Caché と Ensembleドキュメントには、サポート対象プラットフォーム、クラスリファレンス のほかに、ガイド、リファレンス、チュートリアル、記事のフルセットが含まれています。
このリリースのビルド番号は、2018.1.9.805.0 です。
このリリースのHealthShare Health Connect(HSAP)の製品のフルインストールキットは、WRC の Software Distribution ページからダウンロードできます。

開発者コミュニティをより素晴らしい場所とするため、以下の機能について更新を行いました。
📌 ニックネーム🆕
📌 Credly バッジ
📌 サブスクリプション
📌 GIFの再生/一時停止
📌 タグの自動付与
それぞれの更新について、以下詳細をご紹介します!
InterSystems Kubernetes Operator (IKO) 3.7 がリリースされました。 IKO 3.7 は、多くのバグ修正に加えて、大幅に新機能を追加しました。注目の機能は以下のようになっています。
コミュニティの皆さん、こんにちは!
私の IRIS Api Tester というアプリで使用する Postman コレクションのテストを作成する方法を説明します。
Newman とは?
Newman は、Postman コレクションを拡張可能な方法で自動的に実行できるコマンドラインツールです。 Newman でテストを作成することで、API エンドポイントの信頼性と正確性を確実にすることができます。 この記事では、Postman で Newman のテストを作成する方法と開始に役立つ実用的な例を紹介します。
Postman コレクションを作成したら:
.png)
テストスクリプトを書き始めることができます。
Postman のテストは、Postman スクリプトサンドボックスを使って JavaScript で記述します。 テストスクリプトを作成するには、リクエストを開いて「Test」タブに移動します。 ここで、API レスポンスを評価してその正確さを検証するカスタム JavaScript コードを作成できます。
例 1: レスポンスのステータスコードを確認する:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
例 2: レスポンスの特定のフィールドの有無を検証する:
pm.開発者の皆さん、こんにちは。
InterSystems FHIR とデジタルヘルスの相互運用性コンテストの勝者が決定しました!
今回もコンテストにご参加・ご注目いただきありがとうございました!今回は 12 のアプリケーション の応募がありました🔥
%20(4).jpg)