#ヒントとコツ

4 フォロワー · 367 投稿

特定の問題をエレガントまたは異常な方法で解決するためのInterSystems テクノロジーの一連の経験。

新着
記事 Mihoko Iijima · 2月 18 4m read

開発者の皆さん、こんにちは!

私は普段 Windows を使用しており、VSCode で ObjectScript を書いてテストする際には、IRIS ターミナルを別途起動し、VSCode とターミナルの 2 画面を行き来する操作を続けてきました。

ところが今回、ObjectScript エクステンションに追加された「ObjectScript Lite Terminal」を利用することで、VSCode 1 画面内で IRIS ターミナルを操作できるようになりました。

一見すると小さな追加機能ですが、日々 IRIS を触っている開発者にとっては “地味に革命” と言えるかもしれません。本記事では、その使い勝手を詳しくご紹介します。

Windows 以外の環境では、通常 iris session xxx を実行して ObjectScript シェルに切り替えますが、Lite Terminal を使えばこの操作が不要になります。

まずは、起動方法から。

Lite ターミナルの起動には、3種類の方法があります。

その1:コマンドパレットを使って起動する

VSCode の View > Command Palette.. >  ObjectScript: Launch Lite Terminal

クリック後、VSCode で現在接続しているネームスペースのターミナルが起動します。

2
1 20
新着
記事 Megumi Kakechi · 2月 15 4m read

これは InterSystems FAQ サイトの記事です。
こちらの記事では、ミラー環境をメンテナンスリリースバージョン(例:2025.1.0 -> 2025.1.1)にアップグレードする際の手順についてご説明します。

脆弱性の問題の対応などで、最新メンテナンスリリースバージョンへのアップグレードが必要な場合はこちらの方法をご使用ください。

こちらの手順は、「ミラー環境アップグレード中にアプリケーションの変更を伴わない」ことを前提とした手順になります。
こちらのドキュメント にある以下のイメージの、「 Procedure 1: Maintenance Release Upgrades with No Application Changes」の手順です。
※ ミラーが使用できなくなるのは、計画的フェイルオーバーの実行時間のみです。

0
0 16
記事 Megumi Kakechi · 1月 30 9m read

これは InterSystems FAQ サイトの記事です。
^SystemPerformance ユーティリティ (旧:^pButtons)  を使用すると、 InterSystems製品が稼働するプラットフォームに関する詳細なパフォーマンス・データを収集することができます。
収集できるのは以下の情報になります。

・IRIS の設定:構成、ドライブの割り当てなど 
mgstat:IRISのパフォーマンスメトリック(グローバル参照や物理読み込み、など)
・オペレーティングシステムのリソースとパフォーマンスに関するメトリック
 ※Unixの場合は vmstatとiostat、Windowsの場合は パフォーマンスモニター
・その他の有用なメトリック

こちらの記事では、^SystemPerformanceツール(旧:^pButtons)の実行方法と、出力情報の利用方法についてご紹介します。


【実行方法】

※^SystemPerformance の実行にはオペレーティングシステムの管理者権限が必要です。
管理者としてシステムにログインしてから実行してください。特にWindowsで UAC(User Access Control)が有効になっている場合は特別な実行方法が必要になります。詳しくは
 こちらIMPORTANT: の箇所)をご確認ください。
★その1:既定のプロファイルを使用する場合

0
1 31
記事 Mihoko Iijima · 1月 28 7m read

開発者の皆さん、こんにちは!

この記事では、InterSystems IRIS サーバサイドで実行できるPython(Embedded Python)のデバッグ方法をご紹介します。

前提:VSCode の Python デバッガ用モジュールの debugpy を利用するため、Python スクリプトファイルに記載した Embedded Python のコードが対象です。クラス定義に[Language = python]を指定して記載しているコードは対象外となります。ご注意ください!

0
0 27
記事 Toshihiko Minamoto · 1月 26 5m read

InterSystems IRIS、特にInteroperabilityを使い始めたころ、最初によく思っていた疑問の一つは「処理を一定間隔やスケジュールで実行するにはどうすればいいのか」でした。 このトピックでは、この問題に対処する2つのシンプルなクラスをご紹介します。 似たようなクラスがEnsLibに見当たらないことに、驚いています。 十分に検索しなかったのかもしれません。 いずれにせよ、このトピックでは複雑な作業を扱うつもりはなく、初心者向けの簡単なスニペットを少し紹介します。

0
0 24
記事 Megumi Kakechi · 1月 23 2m read

これは InterSystems FAQ サイトの記事です。
こちらの記事では、データベースサイズを拡張する方法をご紹介します。

1.今すぐ拡張したい場合

2.空き容量がなくなったときに、拡張するサイズを設定したい場合


1.今すぐ拡張したい場合

管理ポータル、またはコマンドで、拡張したいサイズにデータベースサイズを指定します。

管理ポータル:
[システム管理] > [構成] > [システム構成] > [ローカルデータベース]

対象のデータベースを選択し、データベース属性のダイアログで、「現在」に拡張したいサイズ(拡張後のサイズ)を指定します。
保存クリック後、即座にデータベースは拡張されます。

 

上記例は、もともと11MBだったサイズを50MBに拡張、つまり39MB拡張したため、messages.logには以下のようなログが記録されます。

0
0 21
記事 Megumi Kakechi · 1月 12 4m read

これは InterSystems FAQ サイトの記事です。
こちらのトピックでは、ミラー環境でECPを行う場合の設定方法注意すべき点について、ご案内します。

【設定方法】

手順は以下になります。

(1) 両方のフェイルオーバーメンバおよび任意の DR 非同期メンバで、ECPを有効にします

(2) ECP アプリケーションサーバ(ECPクライアント)で、ECPの設定を行います

(3) ECP アプリケーションサーバ(ECPクライアント)で、リモートデータベースの作成を行います

(4) 動作確認&リダイレクトのテストを行います

今回作成するECP構成は、ドキュメントにある以下のイメージの赤丸のインスタンスによる構成になります。

 

  A:プライマリ・
フェイルオーバーメンバ
B:バックアップ・
フェイルオーバーメンバ
C:DR非同期 ECPアプリケーションサーバ
(クライアント)
ミラー名 TESTMIRROR TESTMIRROR TESTMIRROR  
ミラーメンバ名 MACHINEA MACHINEB MACHINEC  
IPアドレス 10.0.0.244 10.0.0.151 10.0.0.60 10.0.0.134


 

(1) 両方のフェイルオーバーメンバおよび任意の DR 非同期メンバで、ECPを有効にします

0
0 28
記事 Mihoko Iijima · 1月 12 1m read

これは InterSystems FAQ サイトの記事です。

バージョン2025.1以降では、ジャーナルファイルを作成したインスタンスと同じバージョン、またはそれ以降のバージョンへのジャーナルファイルのリストアは保証されていますが、2025.1以降で作成されたジャーナルファイルを2024.1以前のインスタンスにリストアできません。

ドキュメント:ジャーナル・リストアの互換性 (アップグレード関連)

2025.1以降のインスタンスのデータを、2024.1以前にリストアしたい場合、時間がかかる方法となりますが、2025.1以降のバージョンから対象グローバル変数をエクスポートし、2024.1以前のバージョンにインポートする方法を利用できます。

InterSystems 製品のミラーリングについては、全メンバー(プライマリ/バックアップ/非同期)で同一バージョンを使用する必要があります。

ミラーリングは、ジャーナルファイルのリストアを内部的に利用しているため、バージョン2025.1へアップグレードした場合、全メンバーのバージョンが2025.1以降である必要があります。ご注意ください。

ご参考「InterSystems IRIS インスタンスの互換性

0
0 26
記事 Megumi Kakechi · 1月 9 5m read

これは InterSystems FAQ サイトの記事です。
ミラーの現在の状態は、管理ポータルのミラーモニタで確認できます。

こちらのトピックでは、それらの情報をコマンドで確認する方法をご紹介します。

(1) フェイルオーバメンバ(プライマリ・バックアップ)の状態を確認する

(2) 非同期メンバの状態を確認する

(3) ISCAgentの状態を確認する

(4) 定期的にミラーステータスを取得するサンプル(ツール)のご紹介

では、以下のようなミラーの状態を確認してみます(以下はフェイルオーバーメンバ・プライマリの状態)。

 
 

(1) フェイルオーバメンバ(プライマリ・バックアップ)の状態を確認する

フェイルオーバメンバのミラーの状態は、SYS.Mirror クラスの GetFailoverMemberStatus メソッドで確認できます。
結果は出力引数に$list形式で返されます。詳細はクラスリファレンスをご覧ください。

   例)
    プライマリ、バックアップともActiveな状態

0
0 40
お知らせ Mihoko Iijima · 12月 21, 2025

開発者の皆さん、こんにちは!

2026/1/7更新:ページメニューの日本語切り替えが追加されたので本文同じですが画像を貼り換えました。

コミュニティページの上部ヘッダにある「Global Masters」ページ、ご覧になったことはありますか?👀

Global Masters は、ゲーミフィケ―ションプラットフォームで、InterSytsems のテクノロジーに関するチャレンジ (タスク)を完了させたり、バッジやポイントを獲得したり、そのポイントを様々な賞品に交換できます🎁! 

詳細は「グローバルマスターズ・アドボケート・ハブ - ここからスタート!」をご参照ください。

まずは、現在お持ちのポイントを確認するため、「Global Masters」に移動しましょう!

ログイン画面が表示されましたら、コミュニティにログインしているアカウントと同じアカウントでログインできます。ログイン後、画面右上に現在お持ちのポイント数が表示されます。(赤線部分)

また、ポイントの隣のアイコンをクリックするとページメニューを日本語に切り換えるメニューがあります。(緑線部分)

トップページには様々なタスクやゲームが用意されています。チャレンジすると記載されているポイントが加算されます。

交換できる賞品を確認するためには、画面上部にあるメニュー「マイリワード」をクリックします。(2026年1月8日時点の賞品リストです)

1
0 41
記事 Mihoko Iijima · 12月 25, 2025 2m read

これは InterSystems FAQ サイトの記事です。

InterSystems 製品の内部日付時刻($HOROLOG)を利用して時刻を取得している場合、オペレーティング・システムが提供するアルゴリズムに基づいて季節的な時刻調整を行います。

そのため、オペレーティングシステムにてサマータイムの調整が行われる場合は、InterSystems 製品は、オペレーティングシステムで対応したサマータイム時刻で動作します。

注意点としては、$HOROLOG 値が大きく変更されるケースもあるため、時刻比較やこの値をキーにしたアプリケーションの処理などがもしある場合は、その変更を考慮していただく必要があります。

ご参考:「ローカル時刻調整のしきい値

なお、$NOW() 関数を使用して内部日付時刻を取得している場合は、オペレーティングシステムのサマータイムの調整に対応していませんのでご注意ください。

$NOW() 関数は、$ZTIMEZONEの値を使用してローカル時刻を決定しています。
$ZTIMEZONEは1年を通して連続的で、サマータイム(DST)などのローカル時刻の調整に対応していないためです。

また、小数点以下を含むタイムスタンプ値をサマータイム対応済のローカル時刻で取得したい場合、$HOROLOG では対応できませんので、以下の2つ方法のどちらかを利用して取得します。

0
0 37
記事 Megumi Kakechi · 9月 15, 2025 3m read

これは InterSystems FAQ サイトの記事です。
ビジネスサービスやビジネスオペレーションで EnsLib.CloudStorage.InboundAdapter アダプタを使用したり、%Net.Cloud.Storage.Client を使用することで、Amazon s3(クラウドストレージAPI)のファイルにアクセスすることが可能です。

いずれの場合も、事前に Javaランタイムをシステムにインストールし、インストールしたJavaランタイムの JAVA_HOME 情報を、管理ポータルにて設定する必要があります(手順は後述します)。


今回は、%Net.Cloud.Storage.Client クラスを使用したサンプルをご紹介します。
手順は以下のようになります。


【手順】

以下のS3パケットにアクセスする手順になります。

   

(1)  事前に、コマンドプロンプトにて aws コマンドを使用して動作確認をしておきます(S3に存在しているファイル一覧がプロンプトに返ればOKです)。

> aws s3 ls s3://isj-s32025-04-3016:20:52         32 abc.txt
2025-04-3016:14:00      21529 messages.log

もしくは

2
0 108
記事 Mihoko Iijima · 12月 22, 2025 8m read

これは InterSystems FAQ サイトの記事です。

InterSystems 製品で利用できる ID およびアクセスの管理には、Kerberos、OS ベース、InterSystems ログイン(=インスタンス認証/パスワード認証)、2 要素認証、JWT 認証、LDAP 認証(AD も含む)、OAuth2 などが用意されていますが、これらのどの方法にも当てはめることのできない独自の管理方法をお持ちの場合に利用できる方法があり「代行認証」(または委譲認証)と呼びます。

ドキュメント:代行認証

このトピックでは、代行認証を行うまでの手続きについて解説します。

サンプルコードはこちら👉https://github.com/Intersystems-jp/FAQ-716

シナリオとして、アプリケーション用ユーザ名、パスワードを管理する専用テーブルがあるとしています。特定の REST API のログイン、またはターミナルアクセス利用時にこの情報を使用して代行認証を行う方法を解説します。

大まかな手順は以下の通りです。

[1] 専用ルーチンを作成する

[2] システム・セキュリティの認証/ウェブセッションオプションを変更する

[3] 使用するサービスに対して代行認証を有効化する

[4] テストする

[1] 専用ルーチンを作成する

以下の流れで作成します。

1、サンプルコードのダウンロード

0
0 42
記事 Megumi Kakechi · 12月 16, 2025 2m read

これは InterSystems FAQ サイトの記事です。
こちらの記事では、コマンド・パイプデバイスを使用して、外部コマンドの出力を取得する方法をご紹介します。

以下のように行います。
★コマンド出力を取得する例:

USER>kill
USER>set cmd="netstat -anp tcp"
USER>set pipe=##class(%File).%New(cmd)
 
USER>write pipe.Open("rq")
1
USER>while 'pipe.AtEnd { write !,pipe.ReadLine() }
アクティブな接続
  プロトコル  ローカル アドレス          外部アドレス        状態
  TCP    0.0.0.0:23             0.0.0.0:0              LISTENING
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING
(中略)
  TCP    192.168.172.1:139      0.0.0.0:0              LISTENING
USER>


★コマンドのエラー出力を取得する例:

0
0 37
記事 Megumi Kakechi · 12月 9, 2025 7m read

これは InterSystems FAQ サイトの記事です。
この記事では、ミラーリングの構成方法をご紹介します。

2025.1のバージョンより、既存のミラーリングされたデータベースをミラーメンバーに追加する際、「ミラーメンバーからの自動データベースダウンロード」が可能となりました。
以前のバージョンでは、手動でのバックアップとリストアを行っていましたが(もしくはIRIS.datのコピー)、この機能を使用するとデータベース作成時に、別のミラーメンバーから自動的にダウンロードされます。大変便利な機能なので、ぜひお試しください。
※ こちらの問題 があるため、「自動データベースダウンロード」機能は最新バージョン 2025.1.2~ でお試しください。​​​​​


本記事では、「自動ダウンロード」の機能についても、あわせてご紹介します。
では、ミラーの構成手順をご紹介します。
今回ご紹介するのは、同期ミラーによるフェールオーバー(常にデータベースが同期されて複製、障害時に自動でフェールオーバー)構成です。
手順は以下になります。

1) それぞれのサーバで、ISCAgent の構成・起動

2) それぞれのサーバで、ミラーのサービスを有効化

3) 最初のフェイルオーバーメンバー(プライマリ)を構成・ミラーへデータベースの追加

0
0 65
記事 Megumi Kakechi · 8月 18, 2025 3m read

これは InterSystems FAQ サイトの記事です。
 

WebゲートウェイのSystem Status(システムステータス)ページでは、現在のすべてのアクティブな接続のステータスを確認することができます。

最初のステータステーブル (システムステータス) は、IRIS への接続に関する情報を表示します。
2番目のステータステーブル (InterSystems IRIS サーバ) は、InterSystems IRIS サーバに関する情報を表示します。
3 番目のステータステーブルは、アプリケーションパスの情報を表示します。
4 番目のテーブルは、Web ゲートウェイの応答キャッシュに保持されるフォームを表示します。

いくつかのサンプル接続ステータスを例にご説明します。

【ケース1】

接続最小数 の設定で、現在3接続が処理中の場合。
使用中のプロセスは InUse のステータス、待ち受けで空いているプロセスは Free で表示されます。

0
0 80
記事 Megumi Kakechi · 8月 13, 2025 3m read

これは InterSystems FAQ サイトの記事です。
$ZF(-100) は、OSコマンドまたはプログラムを子プロセスとして実行するのに使われますが、一緒に便利なキーワードを指定することが可能です。

$ZF(-100)でコマンドの実行がうまくできない、という経験をされた方も多いかと思います。

そんな時は、この便利なキーワードを使って原因の調査をしていきましょう。

キーワードには以下のようなものがあります。

/SHELL シェルを使用して program を実行する。既定では、シェルは使用されない。
/STDIN=filename 入出力リダイレクト入力ファイル
/STDOUT=filename 入出力リダイレクト標準データ出力ファイル
/STDERR=filename 入出力リダイレクト標準エラー出力ファイル
/LOGCMD 結果として得られるコマンド行を messages.log に記録する
/NOQUOTE コマンド、コマンド引数、またはファイル名の自動引用を禁止する


使用方法は、以下のようになります。

write$zf(-100,"/SHELL /LOGCMD /STDERR=err.log","command1","command2",...) 
0
1 61
記事 Mihoko Iijima · 8月 7, 2025 4m read

開発者の皆さん、こんにちは!

Windows 版 IRIS/IRIS for Health 2025.1 以降で Embedded Python をご利用いただく場合、Windows に Python のインストールが必要になりました。

以前のバージョンから Embedded Python をご利用いただいている場合は、新しいバージョンにアップグレードした後、Python のインストールと IRIS 側に必要な設定がありますのでご注意ください。

※ 2024.1 以前のバージョンでは、IRIS インストールと同時にインストールされる Python ご利用いただく必要があったため、Windows への Python インストールは不要でした。

補足:フレキシブル Python ランタイム機能の導入により、OS にインストールされた Python のバージョンを IRIS 側で指定できるようになりました。

詳細はドキュメントもご参照ください:フレキシブル Python ランタイム機能の概要

Embedded Python 利用までの手順は以下の通りです。

1) サポートする Python のバージョンを確認

サポートしている Python のバージョンを確認します。(Windows は、Python 3.9以降)

0
3 138
記事 Megumi Kakechi · 8月 4, 2025 2m read

これは InterSystems FAQ サイトの記事です。
 

Webゲートウェイ管理ページで、サーバ毎の最大接続数を設定したり、最大接続に達した場合に待ち時間(キュー)や静的なビジーページを設定することが可能です。

実際にサーバに接続する最大接続数を設定すると、それに達した場合に待ち時間(キュー)で設定した秒数待って、それを過ぎても接続数に空きが出なかった場合に、静的なビジーページに移行するような設定が可能となります。

設定箇所は以下になります。
※Webゲートウェイ管理ページ:
例(URLは環境・バージョンによって変わります):
http://<webserver>/<instancename>/csp/bin/Systems/Module.cxw
 

★全サーバに適用される設定(デフォルトパラメータ)

サーバ単位の個別の設定がない場合は、こちらの設定が適用されます。

構成 > デフォルトパラメータ

最大接続:各サーバの合計接続数の最大数(既定:1024)。

キューイングされたリクエストのタイムアウト:最大接続まで接続がある場合に、空きが出るまで待つ時間のタイムアウト値(秒)

ビジーページ:上記タイムアウトに達した場合に表示するビジーページ(例:只今混みあっております)


 

★接続サーバ単位で適用される設定(サーバ接続)

0
1 67
記事 Megumi Kakechi · 7月 31, 2025 2m read

これは InterSystems FAQ サイトの記事です。
アプリケーション保全のために、データベースのジャーナルは必ず有効にしておく必要がありますが、何らかの理由でジャーナルを無効にしなければならない場合があるかと思います。

ディスク容量の縮小や、データ更新時のシステム負荷の削減など理由は様々です。

ここで注意していただきたいのは、データベースのジャーナルを無効にした場合にどのような影響がでてくるのか、ということです。

こちらのトピックでは、「データベースのジャーナルを無効にした場合の影響について」ご説明します。


ジャーナルを無効にする方法は、以下の2種類があります。

1. システム全体で無効にする方法(こちらを行う場合は【慎重】に!

Set$namespace="%SYS"Do^JOURNAL  > 2) Stop Journaling (^JRNSTOP)

2. プロセス単位で無効にする方法 ※ご参考

do DISABLE^%SYS.NOJRN                   // ジャーナリングを停止do ENABLE^%SYS.NOJRN                    // ジャーナリングを開始

※ミラーリング対象のデータベースは、ジャーナルを無効にすることはできません。
ジャーナルを無効にした場合、以下のことができなくなります。

0
0 50
記事 Mihoko Iijima · 3月 5, 2023 4m read

開発者の皆さん、こんにちは!

1つ前の記事では、VSCodeのObjectScriptエクステンションに追加されたRESTサービスのデバッグツールについてご紹介しましたが、この記事では、RESTクライアントなどからHTTP要求を実行し、処理中のIRIS内プロセスにアタッチしながらデバッグを行う方法についてご紹介します。

 

5
0 878
記事 Megumi Kakechi · 6月 23, 2024 8m read

これは InterSystems FAQ サイトの記事です。
 

InterSystems IRIS では、シャドウイングは非推奨機能となりました。

こちらのトピックでは、これまでにCachéでシャドウイングを使用していたお客様に対して、IRISへの移行後に、代わりに使用できるミラーリングの構成方法をご紹介します。

ミラーリングには機能的に2つの種類があります。

1.同期ミラーによるフェールオーバー(常にデータベースが同期されて複製、障害時に自動でフェールオーバー)
2.非同期ミラー(シャドウイングと同様の機能を提供)
 - DR非同期(DR構成で利用、フェールオーバーへの昇格が可能、複製DBへの書き込み不可)
 - レポーティング非同期(データマイニング/BIアプリでの利用、複製DBへの書き込み可能)


シャドウイングに代わって、IRISでは「プライマリ・フェイルオーバー」+「非同期ミラー」でミラーリングを構成する機能を利用することができます。

以下は、シャドウイングとミラーリングのサーバ役割の対比表になります。
※ミラー構成内の1つのインスタンスを  “ミラーメンバ” または単に “メンバ” と呼びます。

1
0 399
記事 Megumi Kakechi · 7月 22, 2025 4m read

これは InterSystems FAQ サイトの記事です。
「定期的にプロセスを監視し、あるイベントが発生したときにのみ処理を実行したい」ような場合に使用できる、便利な機能をご紹介します。

もちろん、Forループを行う常駐プロセスを作成してその中で Hang XX しながらIf文にてイベントを検知したり、タスクスケジュールでルーチンを定期実行してその中でIf文にてイベントを検知して処理することも可能です。

今回ご紹介する、%SYSTEM.Event クラスを使用することで、よりシンプルに処理を作成することが可能となります。

【こんな時に便利】
・テーブルやグローバルに、あるデータが全て格納されたら処理を行いたい
・あるエラーを検知したときにのみ、^SystemCheck情報を取得したい
・処理が必要なものがデータベースに入ったら順番に処理を行いたい(pythonだとQueueモジュールのような感じ)


【使用方法】

準備(任意のプロセス)

do $SYSTEM.Event.Create("test")
これで、testというイベントがシステムワイドで作成されます。
 

パターンA=単純な常駐プロセス

0
1 84
記事 Megumi Kakechi · 7月 15, 2025 4m read

これは InterSystems FAQ サイトの記事です。
IRISのプロセスを終了したい場合、管理ポータルから行う方法と、ターミナルからユーティリティやコマンドを使用して行う方法があります。

こちらのトピックでは、以下の3つの方法で停止する方法をご紹介します。

【プロセスの停止方法】
1.管理ポータルから停止する方法2.ユーティリティーで停止する方法(RESJOB、JOBEXAM)3.プログラムで停止する方法


【注意】
IRIS外から(Windowsならタスクマネージャーなど)、プロセスの終了は絶対に行わないでください。

IRIS外からプロセス終了してしまうと、IRIS内部ではプロセスの削除を検知できなかったりすることで、IRISの動作が不安定になったり、システム全体がハングする危険性がありますので、ご注意ください。

外部から停止の例外が一つだけあります。
$ZF コマンドによって起動された子プロセスが、何らかの問題で応答を返さなかった場合、$ZF コマンドを実行した親プロセスはそのまま残り続けます。
そのような親プロセスを終了したい場合、通常の上記1~3の方法では停止できません。
その際は、先に外部から子プロセスを停止する必要があります。子プロセスを特定するためには、以下の方法があります。

0
0 124
記事 Mihoko Iijima · 7月 14, 2025 6m read

これは InterSystems FAQ サイトの記事です。

InterSystems 製品の Windows 版インストールキットでは、IIS に対して Web ゲートウェイをインストールするインストールキットの提供はありますが、Windows にインストールした Apache に対するインストールキットが提供されていないため、以下の手順で Web ゲートウェイを構成します。

1、InterSystems 製品のインストール

2、Apache for Windows のインストール

3、Windows 版 Web ゲートウェイのインストール(※)

4、https.conf の修正

5、Apache を Windows サービスにインストールし開始する

6、Web ゲートウェイ管理画面で各種設定

(※)Windows 版 Web ゲートウェイのインストールキットは WRC よりダウンロードいただけます。

以下、手順詳細です。

インストール時、インスタンス名を IRISTEST、インストールディレクトリを c:\InterSystems\IRISTEST に設定した流れでの図解で解説しています。

例では、http://Webサーバ/インスタンス名/csp/sys/UtilHome.csp で管理ポータルへアクセスできるようにするための設定例で記載しています。

0
0 121
記事 Mihoko Iijima · 7月 7, 2025 3m read

これは InterSystems FAQ サイトの記事です。

一般的に、500番台はサーバー側で発生したエラーを表していて、503番エラーはサーバーが何らかの理由で機能を停止していてクライアントの要求に回答できない場合に出現するエラーです。

外部サイトの説明:503エラー 【HTTP 503 Service Unavailable】

以下、InterSystems 製品の使用で発生する503エラーの考えられる原因について一覧します。

 

REST/CSPページにアクセスできない

原因:ライセンスが割り当てられない場合に発生します(ライセンスが「同時接続ユーザ」での購入である場合、ユーザ数が制限を迎えたためライセンスが割り当てられずこのエラーが発生します)。

アプリケーションが「認証なし」アクセスを使用している場合、以下の原因により503エラーが発生します。

0
0 102
記事 Megumi Kakechi · 7月 6, 2025 2m read

これは InterSystems FAQ サイトの記事です。
各InterSystems製品のサポートOS情報は、製品ドキュメントの「サポートプラットフォーム」情報で確認できます。

製品ドキュメントは、弊社ホームページ > サポート > ドキュメント よりご確認いただけます。

確認したい製品バージョンのドキュメント(例えば、InterSystems IRIS Version 2025.1)を開いていただき、「サポート対象プラットフォーム」リンクからご確認いただけます。

 

     ↓↓↓ 

 


※Cache & Ensemble の場合は(例えば、Cache & Ensemble Version 2018.1)、ドキュメント上部の Supported Platforms リンク 

0
0 59
記事 Mihoko Iijima · 7月 3, 2025 4m read

これは InterSystems FAQ サイトの記事です。

InterSystems 製品では、ファイルオープン時に文字コードを指定すれば指定の文字コードで正しくファイルの中身を処理できます。

文字コードを指定しない場合、InterSystems 製品をインストールした OS に合わせて設定されたファイル I/O 用文字コードを利用してファイルをオープンします(Linux 系は UTF8、Windows は SJIS)。

また、文字列については文字コードが判明していれば $ZCONVERT() 関数を使用して指定文字コードで文字列を処理することができます。

 例)$ZCONVERT(文字列,"I","IRIS内文字コード")

文字コードが不明な場合、残念ながら InterSystems 製品だけでそのコードを判別することができないため、例えば Embedded Python で Python の chardet パッケージを使用して文字コード判別し、IRIS 内文字コードを取得しファイルオープン、文字列の文字コード変換をすることができます。

chardetパッケージについては、外部サイトですが参考となります。ぜひご参照ください。

参考ページ:[解決!Python]テキストファイルのエンコーディングを調べて、その内容を読み込むには(chardetパッケージ)

0
1 169
記事 Mihoko Iijima · 6月 30, 2025 2m read

これは 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

 

秒での比較

0
0 47