新年おめでとうございます。今年もインターシステムズを宜しくお願い申し上げます。

さて2025年最初のウェビナーは「開発効率化とシステム統合の実現:InterSystems IRISプラットフォームによる

次世代システム基盤の構築」のテーマで、2月20日に開催いたします。

日時:2025年2月20日(木)13時半~14時

参加費無料・事前登録制

ご登録はこちらから

【概要】

当セミナーでは、現場で本当に使える統合プラットフォームについて、技術者の悩みから経営課題まで、リアルな視点でお届けします。

1 0
0 26
InterSystems 開発者コミュニティは 21,326 名の優秀な開発者が参加しているコミュニティです
InterSystems IRIS のプログラマーが学習や知識の共有を行い、最新情報を入手し、共に楽しく成長できる場所です!

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

2025 年最初のコンテスト開催が決定しました!

✍️ InterSystems 技術文書ライティングコンテスト 2025(USコミュニティ) ✍️

InterSystems 製品やサービスに関連した記事であればどのような内容でもご応募いただけます。

🎁 投稿者全員に参加賞あります: コンテストに投稿いただいた参加者全員にスペシャルな参加賞をご用意いたします!

0 0
0 7

InterSystems IRIS 2021.2 のバージョンより、Embedded Python を使用できるようになりました。

Embedded Python で Excel のデータを IRIS グローバルに格納する方法 では pandas.DataFrame のデータを InterSystems IRIS グローバルに保存する方法をご紹介しました。
こちらの記事では、その逆の「InterSystems IRIS グローバル($LB) を pandas.DataFrame に変換する」方法をご紹介します。

2 1
0 377

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

Teams ワークフロー Webhook を用意すると、curl コマンドや REST クライアントを利用して Teams チャネルに任意メッセージを簡単に送信できるので、IRIS や IRIS の Interoperability を使って自動的に何か情報を入手+必要なときだけ Teams チャネル通知ができたら面白いな、と思い試してみた内容をご紹介します。

以下、Teamsワークフローの作成例です。

3 0
0 23

🚨 メンテナンス予定のお知らせ 🚨

2025年1月20日(月曜日)、計画的なメンテナンスのため、Developer Communityサイトが一時的に利用できなくなる場合があります。

ご不便をおかけしますことをお詫び申し上げます。ご理解いただきありがとうございます。プラットフォームの改善に向けた取り組みにご協力いただき、感謝いたします!

9 Under Maintenance Page Tips | Messages for a Down Website

1 1
0 18

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


質問:

データベースファイルが存在するフォルダ全体をコピーしたとき、コピーしたデータベースファイルをマウントできません。なぜですか?

回答:

コピーした データベースファイル(iris.dat / cache.dat)のあるフォルダに、拡張子lck(iris.lck / cache.lck)のファイルが存在していないでしょうか?

InterSystems製品を停止せずに(もしくは、ディスマウントせずに)データベースファイルをコピーした場合、コピー前の情報を保持したままの lckファイルが残ってしまい、コピー後にマウントできない状況になります。
また、InterSystems製品を停止せずにコピーしたデータベースファイルは正しい状態ではないので、問題が生じる可能性があります。
コピー元のInterSystems製品を停止(もしくはディスマウント)した後、再度データベースファイルををコピーし直してください。

0 0
0 11

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

何らかの理由でサーバー移行が必要になった際に、移行前の環境から移行後の環境に設定情報をコピーすることで設定作業を軽減できます。

以下の設定情報を移行できます。

  • cache.cpf
  • SQLゲートウェイ設定
  • CSPゲートウェイ設定 *注1
  • CAHCESYSデータベースに保存しているユーザー作成ルーチンなど *注2
  • セキュリティ設定
  • タスク設定

注1 パスワードを設定している場合には、パスワードのみ手動で再設定が必要です。
注2 ^%ZSTART, ^ZMIRRORルーチンなど 優先接続サーバー設定に関しても、物理的には移行可能ですが、Windowsのレジストリー情報をコピーする必要があります。
レジストリー情報をコピーして他システムに移行する方法は通常推奨される方法ではありません。

0 0
0 11

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

Question:

使用中のプログラムをコンパイルして保存すると、現在そのプログラムを実行中のプロセスに影響しますか?

Answer:

実行中のルーチンはその旧バージョンをメモリー上に保持しているため、コンパイルして新しいルーチンが保存されても影響なく実行を継続できます。

クラスのメソッドについても同様です。 再度そのルーチンが呼び出された時点でコンパイルされた新しいルーチンが使用されるようになります。

0 0
0 8

Mac版IRISでは、現状Pythonのバージョンが固定(3.11)なのですが、これに付随する他製品との相性問題に遭遇しましたので報告します。

今までEmbedded Pythonは調子よく動作していたのですが、ある時から急に動作しなくなりました。

原因を調べてみると、Python3.13がインストールされ、それがデフォルトとして上書きされたため、irispythonコマンドを発行すると、それが内部で3.13を呼ぶ様になってしまったためでした。

ちなみにiris session でログインし、そこからEmbedded Pythonを実行する場合は、問題ありません。

あくまでもirispythonコマンドで直接.pyファイルを実行する場合に発生する問題です。

そしてとりあえずの対処法は、python3をpython3.11で置き換える方法です。

以下のような感じです。(どのMacでもbrewコマンドでインストールした場合、ディレクトリ構造は同じだと思いますが、違う可能性もゼロではありません)

cp /opt/homebrew/bin/python3.11 /opt/homebrew/bin/python3

1 0
0 13

インターシステムズは、特定の $List シンタックスを使用することで不正なデータベースとジャーナルレコードが作成される問題を修正しました。この問題が発生する可能性は非常に低いものですが、発生した場合の影響は非常に大きなものとなります。

この問題は、以下の製品およびそれらベースとしたその他のインターシステムズ製品に存在します:

  • InterSystems IRIS® : 2023.3, 2024.1.0, 2024.1.1, 2024.1.2, 2024.2, 2024.3
  • InterSystems IRIS® for Health: 2023.3, 2024.1.0, 2024.1.1, 2024.1.2, 2024.2, 2024.3
  • HealthShare® Health Connect: 2023.3.0, 2024.1, 2024.1.1, 2024.1.2, 2024.2, 2024.3
  • HealthShare® Unified Care Record と関連製品: 2024.2

この問題はUnicode版の製品でのみ発生します。

0 0
0 19

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

09/04/24-14:37:47:260 (2575554) 2 [Utility.Event] ISCLOG: SuperServer Super Server job slave failure ns=%SYS rtn=%SYS.SERVER
09/04/24-14:37:47:260 (2575554) 2 [Utility.Event] SuperServer failed to start slave server

メッセージログ(cconsole.log/messages.log)の上記のようなログは、スーパーサーバ/SuperServer(既定:1972ポート)に対して外部からリクエストがあったが、リクエストに対応する子プロセスの起動に失敗した場合に記録されます。

スーパーサーバへの新規接続に対してスーパーサーバがJOBコマンド(タイムアウトあり)を実行したが、タイムアウト時間内にJOBコマンドが完了しなかったケースなどが考えられます。

0 0
0 19
記事
· 2025年1月13日 1m read
ALARMエラーが発生する理由

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

<ALARM>エラーは、クライアントアプリでタイムアウトが発生し、その結果InterSytemsサーバのプロセスがあわせて終了している状況をあらわしています。

クライアントアプリで、タイムアウト設定を無効にすることで回避できる可能性があります。

例えば、クライアントアプリから初回実行するSQL文がある場合、初回実行時のみInterSystems製品内部にクエリキャッシュ(=コンパイル済クエリ)を生成するため(※1)通常実行よりも時間がかかります(2回目以降の実行ではコンパイルは行われません)。

例えば、コンパイルに非常に時間がかかるSQL文の初回実行をクライアントアプリから命令し、タイムアウト以内に応答が戻らない場合 <ALARM> エラーが発生します。

0 0
0 12
4 19
1 534

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

InterSystems製品では、システム開始時に任意の処理を追加できます。

データベースミラーリングを構成していない環境では、%ZSTARTルーチンのSYSTEMラベルを作成することで任意の処理を実装できますが、データベースミラーリングを構成している環境では、このルーチンでは動作しない処理があります。

ご参考:^%ZSTART ルーチンと ^%ZSTOP ルーチンによる開始動作と停止動作のカスタマイズ

理由として、ミラーリング構成の場合、ミラーデータベースへのアクセスはミラーリングサービスが開始されプライマリメンバとなるまでReadOnlyとなります。

0 0
0 24

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


質問:

データ容量を見積もる計算式はありますか?


回答:

正確に見積もるための計算式は残念ながらありません。

InterSystems IRIS Data Platformの場合、データ部に関してはデータを全て可変長で格納しますので、各フィールドの平均がどのくらいであるかという目安の数字で平均レコード長を求め、キー部分も同様の計算を行い、必要な容量の推測値を求める必要があります。

インデックス部に関してはキー圧縮されますので、データと同じような上記の計算を行った推測値よりは少なくなることが期待できます。 ただしその圧縮率はデータの特性に大きく影響されますので、どの程度少なくなるかは一概には言えません。

実データのサンプル(例えば、1万件のデータ)をロードし、その時点でのサイズを確認して想定される件数分のデータ容量を推測するというのが現実的な方法となります。

0 0
0 21

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

こちらの記事では、タスク履歴の結果内容に、「タスクは 10 Apr 20xx 12:00:00AM 19 Aug 20xx 12:00:00AM から継続中 に有効期限切れになりました」のようなログがある場合、その意味と対処方法について説明します。


このログは、実行予定のタスクをチェックした際に、時間が対象タスクの有効期限を過ぎてしまったために、表示しているログになります。
有効期限を指定していない場合(※)は、次回タスク予定時刻が有効期限になります。
※有効期限の設定は、^TASKMGRユーティリティから行うことができます。

0 0
0 18

日本でMacユーザーのIRIS使いがどの程度いるのかわかりませんが、圧倒的少数派なのは確かでしょう。

そのせいもあってか、Mac版のインストーラは、Windows版ほどきめ細かい対応をしてくれていません。

Windows版はインストーラが勝手に日本語のロケールを設定してくれているのですが、Mac版(おそらくLinux版も)は英語ロケールのままです。

それでも、通常の使用ではさほど問題がないといえないこともないのですが、ファイルを読んだりする場合や他にも何かと不都合があります。(何かあったような気がしますが、忘れました。)

ですので、Macユーザーは面倒ですが、管理ポータルで日本語ロケールjpuwのインストールをする必要があります。

またはターミナルでコマンド一発でもOKです。

3 2
0 32

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

POST要求で受信したBodyのJSON文字列を、REST ディスパッチクラス内メソッドでダイナミックオブジェクト(%DyamicObject)に変換する際、以下エラーが発生する場合があります。

0 0
0 30

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

ジャーナルファイルの中身を参照したい場合、通常は管理ポータルで参照します。

管理ポータル:
[システムオペレーション] > [ジャーナル] : (該当ジャーナルの名前)参照 リンクをクリック


こちらのページで、外部に保存したジャーナルファイルも参照することができることをご存じでしょうか?

以下のように、ID= の後ろにジャーナルのファイルパスを指定することで、ジャーナルファイルの中身を管理ポータルで参照することが可能です。

http://localhost/iris/csp/sys/op/UtilSysJournal.csp?$ID1=C:\temp\20240826.002z

0 0
0 17

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

方法は2種類あります。

1) 同一サーバにIISとCachéがインストールされている環境をそのままアップグレードする場合は、IRIS(※)インストールキットを起動し「CACHE(CONVERSION)」からCSPゲートウェイとCaché両方をアップグレードします。

2) IISがIRISとは異なるサーバにインストールされている場合は、IRIS用Webゲートウェイキットを利用します。

(※)InterSystems IRISまたはIRIS for Health

それぞれの方法は以下の通りです。

1)同一サーバにIISとCachéがインストールされている環境の「CACHE(CONVERSION)」でのアップグレード方法

a) インストーラーを起動します。

b) CACHE(CONVERSION)を選択します。

0 0
0 22

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

イベントログの削除には、Ens.Util.LogクラスのPurge()メソッドを使用します。実行時以下の引数を指定します。

第1引数:削除数(参照渡し)

第2引数:保持日数(デフォルト7)

メッセージの削除には、2種類の方法があります。

1) 2022.1.2以降の導入されたマルチプロセスで削除する方法

0 0
0 21


UDL形式でのインポート・エクスポートが出来ない古いCahceバージョンのソースを保守していたり、古くからのバージョン管理下においてXMLでのバージョン管理を行っている環境であったりと、未だにXMLでのエクスポート・インポートが必要になる場面はまれにあるかと思います。
今回、そういった環境下でもわざわざ管理ポータルを開かずとも、VSCodeでXML形式でエクスポートする拡張機能をリリースしましたので、共有させて頂きます。

機能について

編集画面、あるいは、VSCodeのエクスプローラータブ内からクラスを選択し、コンテキストメニューの「XML形式でエクスポート」を実行します。

image

XMLファイルは所定の場所に保存されます。保存先は設定で指定が出来ます。

5 0
0 40

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

試していたWebAPIでは、POST要求時クエリパラメータとボディの両方を送る必要がありましたので、HTTPアウトバウンドアダプタが提供するメソッド:Post()/PostFormDataArray()/PostURL() 辺りをドキュメントで確認していたのですが、残念ながら両方を渡せるように作成された丁度良いメソッドがありませんでした。

ドキュメント:HTTPアウトバウンドアダプタが提供するメソッド

では、どのように送ったかというと、SendFormDataArray()の第3引数を利用して両方の情報を送付してみました。

1 0
0 22

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

永続クラス定義では、データを格納するグローバル変数名を初回クラスコンパイル時に決定しています。
グローバル変数名は、コンパイル後に表示されるストレージ定義(Storage)で確認できます。

例)

0 4
0 330
記事
· 2024年12月18日 1m read
IRIS技術ガイド

Caché技術ガイドのいくつかをIRIS版に書き換えた文書を作成しましたので公開します。

IRISファーストステップガイド

IRISBasicTechnologyGuide

- ObjectScript操作ガイド

- オブジェクト操作ガイド

- 多次元データエンジンの概念およびアーキテクチャー

IRIS SQLガイド

3 0
2 40

こちらの記事では、既存のユーザ設定をプログラムで変更する方法をご紹介します。

ユーザロールを追加/削除したい、有効期限設定を変更したい、等の場合にお役立てください。

なお、ユーザ設定をプログラムで新規作成する方法は こちら の記事で紹介しております。


1.ある特定ユーザの設定を参照+変更する方法

2.既存の全てのユーザの設定を参照する方法

3.おまけ(Webアプリケーション情報の参照+変更)



1.ある特定ユーザの設定を参照+変更する方法

0 0
0 26