記事 Hiroshi Sato · 2025年1月17日 1m read 【Caché, Ensemble】サーバーを移行する際にコピーが必要な設定情報 これは InterSystems FAQ サイトの記事です。 何らかの理由でサーバー移行が必要になった際に、移行前の環境から移行後の環境に設定情報をコピーすることで設定作業を軽減できます。 以下の設定情報を移行できます。 cache.cpf SQLゲートウェイ設定 CSPゲートウェイ設定 *注1 CAHCESYSデータベースに保存しているユーザー作成ルーチンなど *注2 セキュリティ設定 タスク設定 注1 パスワードを設定している場合には、パスワードのみ手動で再設定が必要です。注2 ^%ZSTART, ^ZMIRRORルーチンなど 優先接続サーバー設定に関しても、物理的には移行可能ですが、Windowsのレジストリー情報をコピーする必要があります。レジストリー情報をコピーして他システムに移行する方法は通常推奨される方法ではありません。 #Caché #Ensemble 0 0 0 32
記事 Megumi Kakechi · 2025年3月25日 6m read %Net.POP3 を使用して添付ファイル付きのメールを受信する方法 --- Gmailを使用したサンプルのご紹介 以前公開している こちら の記事では、「OAuth 2.0 を利用して IRIS から Gmail を送信する」方法をご紹介しています。 本記事では、 %Net.POP3 クラスを使用してメールを受信するサンプルをご紹介します。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 31
記事 Megumi Kakechi · 2025年2月26日 2m read 埋め込みSQL &SQL( select xxx into :var from ... ) としたとき、出力ホスト変数varに意図しない値が格納される場合があります これは InterSystems FAQ サイトの記事です。埋め込みSQLの出力ホスト変数は、SQLCODE=0(埋め込みSQL正常終了)の場合のみ、正しい値が設定されていることが保証されます。 InterSystems製品のバージョンによっては、SQLCODEが0以外の場合(該当データがない100やエラー等)で値が設定される場合もありますが、その値は無効です。 特に、IRIS2021.1以降のバージョンでは、SQLCODE=100 の場合、INTO 節で指定された出力ホスト変数は NULL("") にクリアされますので注意が必要です。 #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 31
記事 Mihoko Iijima · 2025年1月13日 1m read ALARMエラーが発生する理由 これは InterSystems FAQ サイトの記事です。 <ALARM>エラーは、クライアントアプリでタイムアウトが発生し、その結果InterSytemsサーバのプロセスがあわせて終了している状況をあらわしています。 クライアントアプリで、タイムアウト設定を無効にすることで回避できる可能性があります。 例えば、クライアントアプリから初回実行するSQL文がある場合、初回実行時のみInterSystems製品内部にクエリキャッシュ(=コンパイル済クエリ)を生成するため(※1)通常実行よりも時間がかかります(2回目以降の実行ではコンパイルは行われません)。 例えば、コンパイルに非常に時間がかかるSQL文の初回実行をクライアントアプリから命令し、タイムアウト以内に応答が戻らない場合 <ALARM> エラーが発生します。 #システム管理 #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 31
記事 Hiroshi Sato · 2025年3月3日 1m read 計算プロパティの使用方法1 これは InterSystems FAQ サイトの記事です。 IRISには、データ項目の値を実体として持たずに、何らかの演算処理の結果として提供する機能があります。 これを計算プロパティまたは計算フィールドといいます。 計算プロパティを定義するためには、最低限以下の手順を実行します。 プロパティ定義にSqlComputedキーワードを含めます。 プロパティ定義にSqlComputedCodeを含めて、値を算出するための処理ロジックとして含めます。 または、SqlComputedCodeを含めずに、代わりに<プロパティ名>Computationという名前のクラスメソッドを記述します。 以下は、Age(年齢)プロパティを計算プロパティとして定義した例になります。 #ObjectScript #SQL #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 30
記事 Megumi Kakechi · 2025年6月1日 5m read ロックテーブルの参照方法とその見方 これは InterSystems FAQ サイトの記事です。ロックテーブルを参照する方法として、主に以下の3つの方法が挙げられます。 1. 管理ポータルで参照する方法 ⇒ 管理ポータル:システムオペレーション > ロック > ロックを表示(または管理) 2. ^LOCKTAB ユーティリティ を使用する方法 ⇒ %SYS> do ^LOCKTAB 3. プログラムで参照する方法 ⇒ プログラム内でロック情報を取得する方法 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 29
記事 Hiroshi Sato · 2025年4月2日 3m read IRIS for MacにODBCアクセスする方法 その1 Mac版のIRISにSQLを使用して他ツールからアクセスするケースはそもそも少ないと思いますが、DBeaverにJDBCを使用してアクセスできることはこのコミュニティの住人であれば、知っている人は結構いるかと思います。 しかし今回ちょっと理由があってMac上のIRISにODBCを使ってアクセスする方法についてトライしてみました。 ここではその備忘録を書き留めておこうと思います。 実際の所、Mac上のクライアントツールでODBCでアクセスできるツールもそんなにないのですが、 候補としてMS-Excel(MS-Query経由)またはLibreOfficeがありました。 まず結論としてExcelは色々とトライしましたが、原因不明ですがうまくつながりませんでした。 (どうもExcel(MS-Query)が拒絶している感じです) LibreOfficeは何とか接続でき、データの取得はできる様になりました。 まず、前準備としてODBC Driver Managerというものをセットアップする必要があります。 #JDBC #ODBC #SQL #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 29
記事 Mihoko Iijima · 2025年6月1日 7m read InterSystems 製品のセキュリティの基本:ユーザとロール これは InterSystems FAQ サイトの記事です。 InterSystems 製品では、ユーザが持つロールによって「InterSystems 製品内で何ができるのか」が決まります。 では、ロールには何が含まれているのでしょうか。 ロールには、複数の特権を含めることができます。特権とは、リソース(保護対象)に対する許可の設定を指しています。 本記事では、IRIS の開発者である山田さん(Yamada) を例に、以下の内容をご説明します。 1) ロールから付与される特権(=リソースに対する許可)について具体例を利用した確認方法 2) ロールを利用したセキュリティ設定について 《ご参考》 #システム管理 #セキュリティ #ヒントとコツ #管理ポータル #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 28
記事 Tomoko Furuzono · 2025年4月10日 1m read サーバのIPアドレスやマシン名をオブジェクトスクリプトで取得する これはInterSystems FAQサイトの記事です。 サーバのIPアドレスやマシン名は、%SYSTEM.INetInfoクラスのメソッドで取得することが出来ます。 #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 27
記事 Tomoko Furuzono · 2025年3月27日 2m read ジャーナルの整合性チェックやサマリの表示をコマンドで実行する方法 これは、InterSystems FAQ サイトの記事です。 管理ポータルの [システムオペレーション] > [ジャーナル]のページで実行できる、 整合性チェックの実行や、サマリーの表示は、%SYS.Journal.File クラスのメソッドやクエリでも実行することができます。 クラスリファレンス:%SYS.Journal.File 以下、実行例です。※全て、%SYSネームスペースで実行します。 (1) 整合性チェック #システム管理 #ジャーナリング #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 27
記事 Hiroshi Sato · 2025年4月2日 2m read IRIS for MACにODBCでアクセスする方法その2 その1で設定したODBCのシステムDSNを使って、LibreOfficeからアクセスしてみたいと思います。 ここでLibreOfficeをデスクトップから起動すると、詳細は不明ですが、日本語の表示がうまくできません。 (ロケール情報が正しく取得できていない様です) なので、少し面倒なのですがターミナルから起動する必要があります。 起動する前にロケールが正しく設定されているか確認する必要があります。一般的には、LC_ALLは設定されていないので、この環境変数に値を設定してエクスポートします。 #ODBC #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 26
記事 Tomoko Furuzono · 2025年5月13日 1m read 各DDLデータ型とInterSystems IRISデータ型のマッピング定義 IRISから他DDLのデータを参照したり取り込んだりする場合、各DDLのデータ型はそれと同等の InterSystems IRIS データ型にマッピングされます。 マッピングの定義は、管理ポータル、および、下記ドキュメントページでご確認いただけます。 管理ポータル:[システム管理] > [構成] > [SQLとオブジェクトの設定] > [システムDDLマッピング] #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 25
記事 Tomoko Furuzono · 2024年10月27日 1m read IRIS/IRIS for HealthでのOSのマイナーバージョンに対するサポートについて これは、InterSystems FAQサイトの記事です。 InterSystemsでは、以前は、OSの特定リリースに対して製品の検証は実施しておりませんでしたが、バージョン2022.1以降においては、OSのマイナーバージョンに対する検証を実施しております。 最新のサポートプラットフォームの情報については、下記の記事をご確認ください。※2024年12月現在の最新情報InterSystems サポートプラットフォーム最新情報 Q4-2024 ★最新情報は開発者コミュニティにて随時発信いたしますので、以降の状況については、上記記事の継続記事をご確認ください。 #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 24
記事 Toshihiko Minamoto · 2025年4月11日 10m read Iris における Django アプリケーションの実行 説明 これは、ネイティブウェブアプリケーションとして IRIS にデプロイできる Django アプリケーションのテンプレートです。 インストール リポジトリをクローンする 仮想環境を作成する 要件をインストールする docker-compose ファイルを実行する git clone cd iris-django-template python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt docker-compose up 使用法 ベース URL は http://localhost:53795/django/ です。 #API #CSP #Docker #JSON #Python #REST API #SQL #セキュリティ #フレームワーク #InterSystems IRIS Open Exchange app 0 0 0 23
記事 Tomoko Furuzono · 2025年4月3日 3m read 二要素認証について これは、InterSystems FAQ サイトの記事です。 InterSystems製品は、二要素認証をサポートしています。下記ドキュメントページに詳細について記載がありますので、ご参照ください。2要素認証 以下、例として、スマートフォン用認証アプリを用いて、IRIS上のCSPアプリケーションの2要素認証を行うための設定方法を解説します。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 23
記事 Hiroshi Sato · 2025年1月17日 1m read 実行中のプログラムをコンパイルして保存することによるその実行中のプロセスへの影響 これは InterSystems FAQ サイトの記事です。 Question: 使用中のプログラムをコンパイルして保存すると、現在そのプログラムを実行中のプロセスに影響しますか? Answer: 実行中のルーチンはその旧バージョンをメモリー上に保持しているため、コンパイルして新しいルーチンが保存されても影響なく実行を継続できます。 クラスのメソッドについても同様です。 再度そのルーチンが呼び出された時点でコンパイルされた新しいルーチンが使用されるようになります。 #ObjectScript #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 23
記事 Toshihiko Minamoto · 2025年5月16日 5m read Auth0 と InterSystems IRIS FHIR サーバーを使った SMART On FHIR アプリケーションの開発 - Angular アプリケーション Auth0 と InterSystems IRIS FHIR リポジトリ使った SMART On FHIR に関する連載最終回では、Angular 16 で開発したアプリケーションをレビューします。 このソリューションに定義されたアーキテクチャがどのように構成されているかを思い出しましょう。 フロントエンドのアプリケーションは 2 列目で、ご覧のように 2 つのことを行います。 #Angular #FHIR #OAuth2 #InterSystems IRIS for Health Open Exchange app 0 0 0 22
記事 Andre Larsen Barbosa · 2025年6月9日 3m read 体重のノックアウト 相手に隙を与えないノックアウトパンチのように、オープンソースプラットフォームであるKubernetesは、その可用性(つまり、サポート、サービス、ツールの容易な入手性)により、無限の可能性を秘めています。Kubernetesはコンテナ内のジョブとサービスを管理できるプラットフォームであり、これらのプロセスの構成と自動化を大幅に簡素化します。 しかし、タイトルイメージにふさわしい、このツールに「正しい」名前、InterSystems Kubernetes Operatorを与えましょう。 原理は至ってシンプルです。サービスを選択し、ゲームのルールを定義するだけで(ここでもKnockoutを参照)、すべてが可能な限り透明性と効率性を高めて提供されます。これは、インストール、修復、そして事前定義された要件を満たさない場合の最終的な復旧にも適用されます。 #Kubernetes #コンテスト #InterSystems IRIS 0 0 0 21
記事 Toshihiko Minamoto · 2025年5月27日 14m read SQL データ移行を使用した Python による IRIS を使った REST Api 次回の Python コンテストでは、Python を使用して IRIS をデータベースとして使用する簡単な REST アプリケーションを作成する方法についての小さなデモを作成しようと思います。 以下のツールを使用します。 FastAPI フレームワーク: 高パフォーマンス、学習しやすい、高速コーディング、プロダクション対応 SQLAlchemy: Python SQL ツールキットで、アプリケーション開発者が SQL の全性能と柔軟性を活用できるオブジェクトリレーションマッパーです。 Alembic: Python 用の SQLAlchemy データベースツールキットと使用する軽量のデータベース移行ツール。 Uvicorn: Python の ASGI ウェブサーバー実装。 #Python #REST API #SQL #InterSystems IRIS Open Exchange app 1 0 0 21
記事 Tomoko Furuzono · 2025年3月31日 1m read IRISのSQLでサポートされているSQLウィンドウ関数について これは、InterSystems FAQ サイトの記事です。 ウィンドウ関数は、結果セットを部分的に切り出した領域に集約関数を適用できるもので、WHERE GROUP BY および HAVING 節が適用された後、SELECT クエリで選択された行に対して作用します。IRIS/IRIS for Health 2021.1からサポートしています。サポートされるウィンドウ関数は以下の通りです。 #SQL #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 20
記事 Tomoko Furuzono · 2025年3月23日 1m read クライアントーサーバ間の通信を暗号化する これは、InterSystems FAQサイトの記事です。 クライアントーサーバ接続を担当するスーパーサーバで、SSLバージョン3とTLSバージョン1での通信が可能です。このオプションを利用することで、通信上のデータを暗号化できます。 その他、Kerberosを使うことで通信上の暗号化も可能です。 #セキュリティ #暗号化 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 20
記事 Toshihiko Minamoto · 2025年5月22日 7m read InterSystems IRIS Workflow Engine によるタスクのフロー - 構成 前回の記事では、一般的な概念と、InterSystems IRIS に統合されたタスクエンジンを使用して解決する問題を紹介しました。今回の記事では、相互運用性プロダクションを構成してソリューションを提供する方法を確認します。 Workflow Engine の構成 First we are going to define the roles of the tasks that we are going to manage, in our example we are going to define two types: AutomaticBloodPressureRole: ユーザーの介入が不要な自動タスクを作成します。 ManualBloodPressureRole: ユーザーが手動で検証する必要のあるタスクを作成します。 #Angular #InterSystems IRIS #InterSystems IRIS for Health #Health Connect Open Exchange app 0 0 0 19
記事 Toshihiko Minamoto · 2025年5月14日 9m read DB.Changelog: SQL トリガーと CodeMode = objectgenerator を使ってデータベースの変更を追跡する お客様のプロジェクトにおいて、どのようにすればいつ何時に誰がデータベースを変更したかを追跡できるか問われました。 SQL とオブジェクトへの両方のアクセスで Insert、Update、および Delete を追跡することが目的です。 以下は、変更ログを維持するために作成したテーブルです。 #SQL #InterSystems IRIS 0 0 0 19
記事 Hiroshi Sato · 2025年6月22日 1m read python3コマンドでEmbedded Pythonを動かす方法(macOS) .pyファイルの中でIRISのEmbedded Pythonを動作させる際にirispythonコマンドで実行する方法はドキュメント上で紹介されていましたので、以前より使用していました。 しかし、普通のpythonコマンドを使用するとうまく実行できなかったのですが、最近その謎(原因)が解けたので紹介します。 これは、Mac特有の問題である可能性が高くWindowsやLinuxでは何の問題もなく実行できるのかもしれません。 エラーは以下のようなエラーです。 #Embedded Python #Python #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 18
記事 Tomoko Furuzono · 2025年4月7日 1m read インストールマニフェストを利用したアプリケーションのデプロイ これは、InterSystems FAQ サイトの記事です。 InterSystems製品では、%Installerユーティリティによりインストール・マニフェストを定義することができます。これを利用することにより、複雑な構成設定を自動化することが可能になります。これは特に、複数の同様なアプリケーションデプロイを行うときに大変有効です。 インストール・マニフェストの詳細については、下記のドキュメントページをご参照ください。インストール・マニフェストの作成および使用 #デプロイ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 18
記事 Hiroshi Sato · 2025年3月17日 2m read 既存のネームスペースで、インターオペラビリティ機能を無効にする方法 これは InterSystems FAQ サイトの記事です。 ネームスペースを管理ポータルで作成する際に、デフォルトでは、『相互運用プロダクション用にネームスペースを有効化』にチェックがついているため、そのチェックを意図的に外さない限り、新規作成したネームスペースは、インターオペラビリティ機能が有効になっています。 この機能が有効であることによる実用上の弊害(パフォーマンス等に影響する)は、特にありませんが、管理ポータル上のクラス表示にこの機能に関連するクラスが先に表示されて、ユーザー作成クラスの表示に余計な操作が必要になる等の操作上の余分な手間が発生する場合があります。 管理ポータル上でこの設定を無効にするメニューは用意されていませんが、以下の手順で無効化することができます。 - 相互運用性ネームスペースの無効化 #Caché #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 18
記事 Tomoko Furuzono · 2025年3月27日 1m read 機能トラッカのメッセージについて これは、InterSystems FAQ サイトの記事です。 システムログ(messages.log/cconsole.log)に出力される、 [Utility.Event] %SYS.Task.FeatureTracker failed to transfer data というログは、機能トラッカというタスクが出力しているメッセージです。このタスクは、弊社がユーザ使用状況の統計を取得する為のデータ送信タスクになります。エラーは弊社と通信が行われてない為に発生しています。 #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 17
記事 Mihoko Iijima · 2025年6月24日 11m read 管理ポータルメニューにアクセスできるユーザを制限する方法 これは InterSystems FAQ サイトの記事です。 InterSystems 製品インストール時に用意されている事前定義ロールを利用して、ログインユーザ毎に管理ポータルメニュー(システム管理/システムエクスプローラー/システムオペレーション など)のアクセスを制限することができます。 管理ポータルメニューに対するアクセス制限を行うためには、管理ポータルへの「認証なし(UnknownUser)」アクセス(※1)を使用しない環境が必要です。 管理ポータル上部の「ログアウト」をクリックしてログイン画面が表示されない場合は、関連記事「管理ポータル/スタジオ/ターミナルにパスワード認証を設定するにはどうしたらいいですか?」をご覧いただき必要な設定を行ってください。 #システム管理 #セキュリティ #ヒントとコツ #管理ポータル #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 16
記事 Toshihiko Minamoto · 2025年5月22日 6m read InterSystems IRIS Workflow Engine によるタスクのフロー - はじめに しばらくの間、私はワークフロー機能について何らかの概念実証を行おうと計画していましたが、これは IRIS に存在する他の多くの機能と同様に、お客様にほとんど気付かれないまま終わってしまう傾向があります(その点については申し訳ありません)。 そこで数日前、この機能を構成して、Angular で開発したユーザーインターフェースに接続して使用するための例を作成することに決めました。 記事が非常に長くならなずに読みやすくするために、3 部に分けて説明しようと思います。 この最初の記事では、Workflow の機能とこれから解決する例について説明します。 2 つ目の記事では、Workflow の管理を担うプロファクションの構成と実装について詳しく説明します。 最後に、ウェブアプリケーションを通じて Workflow にある情報にアクセスする方法を説明します。 InterSystems IRIS Workflow Engine この Workflow 機能を説明するには、IRIS ドキュメントに記載の説明をコピーするのが一番でしょう。 #Angular #InterSystems IRIS #InterSystems IRIS for Health #Health Connect Open Exchange app 0 0 0 15
記事 Mihoko Iijima · 2025年7月3日 4m read 文字コードが不明なファイルや文字列を正しく処理する方法 これは InterSystems FAQ サイトの記事です。 InterSystems 製品では、ファイルオープン時に文字コードを指定すれば指定の文字コードで正しくファイルの中身を処理できます。 文字コードを指定しない場合、InterSystems 製品をインストールした OS に合わせて設定されたファイル I/O 用文字コードを利用してファイルをオープンします(Linux 系は UTF8、Windows は SJIS)。 また、文字列については文字コードが判明していれば $ZCONVERT() 関数を使用して指定文字コードで文字列を処理することができます。 例)$ZCONVERT(文字列,"I","IRIS内文字コード") #Embedded Python #ObjectScript #Python #ヒントとコツ #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 14