質問 m.fuku · 9月 24, 2025

IRIS Communityの再インストールを行ったところ

tomcat上で動作するJavaのWEBアプリケーションから

JDBC経由でのDB接続ができなくなりました。

他のSQLクライアントツールからは問題なく接続できていますので

接続情報やDBの起動状態には問題ないと考えています。

解決策をご指導頂ければ幸いです。

 

■環境

IRISバージョン:IRIS_Community-2025.2.0.227.0-win_x64

JDKバージョン:11.0.28

JDBCドライバ:intersystems-jdbc-3.2.0.jar

 

■事前作業

ライセンス有効期限が切れてサービス起動できなくなったため、以下投稿と同様、再インストールを行っています。

https://jp.community.intersystems.com/post/iris%E3%82%A4%E3%83%B3%E3%82…

ちなみに前回利用したバージョン(IRIS_Community-2024.2.0.247.0-win_x64)では

以下エラー(messages.

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

1. 現象

>w $zv
IRIS for Windows (x86-64) 2024.3 (Build 217U) Thu Nov 14 2024 17:59:58 EST

大きなXMLファイル(約165MB)をライブラリー%XMLでパースすると、<FILEFULL>エラーが発生する。

エラーパート

    s libraryFile = "D:\iTunes3\iTunes Library.xml" ;サイズ=165M
    w !,"libraryFile = ",libraryFile
    w !,"##class(%File).GetFileSize(libraryFile)=",##class(%File).GetFileSize(libraryFile)
    w !,"s sc=##class(%XML.TextReader).ParseFile(libraryFile,.reader) 実行"
    Set sc = ##class(%XML.TextReader).ParseFile(libraryFile,.reader)
    w !,$SYSTEM.Status.GetErrorText(sc)
    q

libraryFile = D:\iTunes3\iTunes Library.xml
##class(%File).

2
0 83
質問 Koji Yamamoto · 5月 5, 2025

次のようなプログラムです。

<a href=# onclick='Js_StageCNG(3)'>ステージ3に進む</a>
・・・
    Set Stage=%session.Get("STAGE")
    if Stage="" set Stage=1
   ・・・
if Stage=3 {
  動かなかったので、すべてコメントに変えたがやはり動かなかった
}
<script language=javascript>
  function Js_StageCNG(key) {
       ans=#server(..StageCNG(key))#
       window.location.href="...csp"
}
</script>
<script language=cache method="StageCNG" arguments="key:%Library.String" returntype="%Boolean">
    do %session.Set("STAGE",key)
    quit 1
</script>

この現象は、最近、突然に起こるようになりました。

3
0 94
質問 ima · 5月 13, 2025

VSCodeをサーバーサイド編集モードで使っていますが、プロジェクト内プログラムの右クリックで「Remove from Project」はありますが、逆に既存プログラムを既存プロジェクトに追加するメニューが無いように思います?
追加する方法を教えてもらえませんか?

IRIS for Windows (x86-64) 2024.3 (Build 217U) Thu Nov 14 2024 17:59:58 EST

VS InterSystems ObjectScript v3.01

Intersystems ObjectScript Extension Pack v1.0.3

InterSystems server manager v3.10.0

2
0 151
質問 ima · 2月 28, 2025

Windows11環境で、IRISライセンス切れのため、IRIS_Community-2024.1.0.262.0-win_x64 から IRIS_Community-2024.3.0.217.0-win_x64 へアップデートしました。

Python関連の実行をすると、Failed to Load Python のエラーが出るようになりました。

USER>d ##Class(%SYS.Python).Shell()
 
エラー #5002: ObjectScript エラー:<OBJECT DISPATCH>Shell+16^%SYS.Python.1 *Failed to Load Python: Check documentation and messages.log, Check CPF parameters:[PythonRuntimeLibrary,PythonRuntimeLibraryVersion], Check sys.path setup in: $INSTANCE/lib/python/iris_site.py

message.logに

Startup of InterSystems IRIS [IRIS for Windows (x86-64) 2024.3 (Build 217U) Thu Nov 14 2024 17:59:58 EST]
.

5
0 140
質問 m.fuku · 11月 21, 2024

IRISを起動しようとするとエラーとなり起動できません。
どなたか解決策をご存知でしょうか?よろしくお願い致します。

環境:Windows11

事前作業:

下記URLと同症状が発生し、アップグレードインストールを行っています。

https://jp.community.intersystems.com/post/iris%E3%82%B3%E3%83%9F%E3%83…

操作:

1.タスクトレイアイコンから「InterSystems IRIS 開始(S)[IRIS]」を選択。

2.エラーメッセージが表示される。

イベントビューアのエラー:

- <Event xmlns="http://schemas.microsoft.

6
0 300
質問 Yuji Ohata · 11月 22, 2024

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

IRISに直接Insert文を発行する時と、JDBCを経由してInsert文を発行する時とで、
挙動差異があるように見受けれれまいたので、何かご存知な方がいらっしゃれば教えてください。

次の様なテーブルがあります。

それに対してDBeaverとIRIS管理ポータルからInsertを実行します。

★DBeaver

 

★IRIS管理ポータル

 

この後実際に作成されたグローバルの情報を確認すると、
『VARCHAR型』で作成したカラムに数値をInsertした際に、
実データの型が異なっていることがわかります。

DBeaver(JDBC) ➡ 文字列で登録
IRIS直     ➡ 数値で登録

個人的には『VARCHAR型』に数値が入ること自体がおかしいので、
DBeaverの方がまし(ホントは型違反とかになってほしい)と思うのですが、
この差異が何で発生するのか、また回避する方法をご存じな方がいらっしゃれば情報共有頂きたいです。

 

また、そもそもIRISはRDBを使っても型チェックが曖昧になるものなのかも気になっています。
さすがに数値のカラムに文字列を入れようとすると怒られるのですが、
上記の様な場合にチェックの仕組みが働かないのには違和感がありました。

3
0 148
質問 Yuji Ohata · 12月 4, 2024

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

私自身SQLがあまり得意ではなく、
業務で書いてみたもののパフォーマンスがよくなく、
不要なループが含まれていた、無駄な検索条件が含まれている…なんてことが多々あります。

IRISの管理コンソールなどにはいろんな機能があると思うのですが、
パフォーマンス改善をするために利用できるツールなどはあったりしますでしょうか?

何かご存知の方がいらっしゃいましたら、情報共有頂けますと幸いです。

2
0 62
質問 Akio Hashimoto · 12月 4, 2024

Pythonでは、拡張モジュールのバージョン違いが混同されないように、venv を使って仮想環境に拡張モジュールをインストールする事を推奨されてたりしますが、IRISから使用する場合に、このvenvで作られた仮想環境を利用する事は可能でしょうか?

PythonPathに仮想環境のパスを指定してはみましたが、プロジェクトから、あるいはimportで、その場所を指定する等出来るでしょうか?

何方か御存知の方がおられましたら、その方法などを教えて下さい。

4
0 336
質問 Akio Hashimoto · 11月 28, 2024

ここ最近になって、VSCodeで以下のようなエラーが出るようになり、波線だらけになってしまいます。
IRISサーバーとは連携出来ていて、コンパイルも通るので大きな問題ではないのですが、ソースが真っ赤っ赤になってとっても見辛いです。
これらを消す方法があれば教えて下さい。
VSCode、拡張モジュール共に最新です。

Avoid using legacy if/else flow control statements (cachequality:OS0089)

鍋蓋カッコを使わない1行のIF文のところで真っ赤な波線が出まくります。
例:if (a = "") set b = "c"
 

Consider using an If statement instead of a postconditional (cachequality:OS0039)

コマンドの後付条件を記載しているところで、青い波線が出まくります。
例:quit:var=""
 

This QUIT invocation exits the current method; consider using RETURN instead (cachequality:OS0031)

処理の途中で、Quitと書いていることろが黄色い波線が出まくります。

 

ちなみに、以下のようなメッセージも出ます。

5
1 334
質問 Yuji Ohata · 10月 16, 2023

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

同じ現象に陥っていた方がいれば助言頂きたいのですが、
VsCodeでIRISにリモートで接続した際、SourceControlでUserNameが取得できていないようです。

{
    "objectscript.conn": {
        "host": "xxxx.xxxx.xxxx.xxxx",
        "port": 52773,
        "ns": "RKNK",
        "username": "xxxx",
        "password": "xxxx",
        "active": true
    },
    "editor.formatOnType": true
}

→SourceControlクラスで..Usernameを取得しようとしても値が入っていない。

同じような現象になった方はいらっしゃらないでしょうか?
何か情報をお持ちの方がいらっしゃれば、フォローいただけますと幸いです。

4
0 215
質問 Shuichi Igusa · 11月 27, 2023

こんにちは、皆さま。

IRIS for Healthを業務に利用すべく試用中です。
Interoperabilityで取り扱えるデータ型のリストがないか探していたのですが、管理ポータルのInteroperabilityの項目には記載が無いように見受けられました。
準備されているアダプタのリストが確認できる場所はありますでしょうか。
恐縮ですが教えていただければと思います。

2
0 143
質問 Shuichi Igusa · 9月 7, 2023

こんにちは、皆さま。

IRIS for Healthを業務に利用すべく試用中です。

FHIR R4 リソースリポジトリの体験とFHIR サーバサイドアプリケーションを利用したデータの追跡を簡単に試せるテンプレートで提供されている環境をローカルに展開しています。

患者登録を実際に行った動作の理解を進めておりますが、以下2点不明となっております。どなたか情報ございましたらフォローいただければと思います。

・実際のデータが登録されているテーブルは「HSFHIR_X0001_S.Patient」かと思いますが、どこでInsert文が流れているのでしょうか。

・clsと実際のテーブルは対になるという認識でおりますが、vscode上に「HSFHIR_X0001_S.Patient」に該当するようなclsが無いように見受けられましたがどこかにあるのでしょうか。

見当違いな質問でしたら申し訳ありません。

2
0 155
質問 Yuji Ohata · 4月 13, 2023

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

現在、Embedded Pythonを用いて開発を行おうとしているのですが、
別のNMSPに存在するグローバルをiris.gref()で参照する方法がわかりませんでした。

> iris.gref("^[NMSP]GBL")   <-----こうしても自身のNMSPのグローバルを参照してしまう。

諦めてznでネームスペースを切り替えてみようかな、とも思ったのですが、
python上でznをかける方法もよくわからず、対応方法に悩んでいます。

どなたか、上記の対応方法についてご存じな方はいらっしゃいませんでしょうか?

5
1 234
質問 Yuji Ohata · 6月 1, 2023

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

IRISにSQLを投げるときの動作について教えてください。

■適当なテーブルを作成
CREATE TABLE Mst.Test (id int, name varchar(10))

■データをINSERT
INSERT INTO Mst.Test VALUES (2, 'bbb ')
※文字列の末尾にスペースを追加。

■SELECT
SELECT * FROM Mst.Test WHERE name = 'bbb'
※whereの条件には末尾のスペースを入れない。

⇒上記の結果、INSERTされたデータがヒットしている。

[疑問点]
SQLの実行において、=を使って完全一致検索をしているつもりなのですが、
末尾のスペースはその条件を無視してヒットしてしまうものなのでしょうか?

何か情報をお持ちの方がいらっしゃれば、フォローいただけますと幸いです。

3
0 275
質問 Yuji Ohata · 3月 24, 2023

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

私たちのシステムでは一部グローバルを利用しているものがあるのですが、
それをテーブル定義したものと同様にDbeaver等で参照できるようにしたいと考えております。

もともと定義していたグローバル(キーを二つ持つもの)に対して、対応するPersistentのクラスを作成し、
DataLocationをそのグローバルにすることで、Dbeaverからそのクラスの存在は見えるようになったのですが、
valueの値を参照することできず、困っています。
どなたか情報をお持ちでしたらご教示いただけないでしょうか…。

■グローバル
>zw ^Test
^Test(1,2)="A"
^Test(1,3)="B"
^Test(2,1)="C"
^Test(2,2)="D"
■永続クラス

Class Gbl.

2
0 327
質問 Yuji Ohata · 12月 28, 2022

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

どなたかインスタンスの起動を%ZSTART等のMACではなく、
クラスのコールバック等で検知する方法をご存知ではないでしょうか?

背景としましては以下の通りです。

===================================================================

現在、Interoperabilityを利用する機能を開発しております。
Ens.Productionを継承したクラスの中でOnStart()をoverrideしており、
その中で上記のクラス自身をリコンパイルする処理が含まれております。

OnStart()でリコンパイルが行われる際、プロダクションの定義が変更されていると
そのプロセスでのプロダクションの起動が失敗してしまいます。
(プロダクション上の定義と、実際のクラスの状態に不一致が発生するため。)

そのため、クラス自身のリコンパイルをプロダクションの開始時ではなく、
インスタンスの開始時にしたいのですが、%ZSTART等のMACファイルは今回利用したくありません。

なんとかそのイベントをクラスで拾いたいのですが、ご存じな方は情報を頂けますと幸いです。

6
0 210
質問 松川 幸久 · 12月 19, 2022

こんにちは、普段はスタジオを使っているのですが、サーバCSPフォルダ内のHTMLファイルを編集する事があり、便利なのでたまにVSCODEを利用しています。以前はHTMLファイルも表示していたと思うのですが、何をやらかしたのかCSP,CSS,MACのみになりました。int,html,jsなどの他のファイルを表示する設定をご存知の方いらっしゃいましたらご教授お願い致します。

InterSystems Language Serverv2.1.4 InterSystems ObjectScriptv2.2.0 InterSystems Server Managerv3.2.1
vscode
Version: 1.74.1 (user setup)
Commit: 1ad8d514439d5077d2b0b7ee64d2ce82a9308e5a
Date: 2022-12-14T10:30:51.966Z
Electron: 19.1.8
Chromium: 102.0.5005.167
Node.js: 16.14.2
V8: 10.2.154.15-electron.0
OS: Windows_NT x64 10.0.18363
Sandboxed: No

 

2
0 203
質問 Yuji Ohata · 12月 14, 2022

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

この度、新たにUbuntu環境にIRISを入れてEmbedded Pythonを用いて開発をすることとなりました。
初期設定として、Ubuntuへのpythonのインストールが必要だと考えているのですが、
その時のバージョンの指定等はあるのでしょうか?

公式サイトを漁ってもうまく見つけられず、ご存知の方がいらっしゃれば教えてください。
同様の開発をされている方で、躓きポイントなど(Ubuntuだとスタジオ使えないからVSCode必須だよ)が
あれば、合わせて助言頂けますと幸いですcheeky

2
0 403
質問 Seiji Hirose · 11月 23, 2022

Cache2008.1+WindowsServer2008R2で稼動していたCSPアプリケーションを、Cache2018.1+WindowsServer2019に移植したところ、下記のエラーメッセージが表示されるようになってしまいました。どういった原因が考えられるでしょうか?また、対処方法をご存知でしたらご教授願います。

Unexpected status code, unable to process HyperEvent: Not Found (404)

3
0 531
質問 Yuji Ohata · 10月 24, 2022

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

SQLの実行結果について、意図せぬ結果になるものが二点ありますので、
利用方法等に誤りがないかを確認させてください。


CREATE TABLE Tmp.AAA AS SELECT * FROM Mst.AAA WHERE column = ?
⇒管理ポータルで実行しても、?パラメータを置換するダイアログが表示されず、
 オンコードで%Execute()しても実行エラーになる。

★この構文では?パラメータは利用できないのでしょうか?


SELECT * FROM Mst.AAA WHERE column IS NULL
⇒IS NULLではヒットせず、= NULLだとヒットする。
 
 

 ★IRISとして、IS NULLと= NULLに動作差異があるのは何故でしょうか?

すいませんが、情報をお持ちの方がいらっしゃればご教示いただけますと幸いです。

8
1 375
質問 Yuji Ohata · 9月 13, 2022

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

現在開発している処理の中で、大量データをSELECT & INSERTする処理があり、合計で91分かかっています。
この処理で用いるSQLは実行結果を再利用したい等の意図があったため、ScrollableResultSetを用いていましたが、
このAPI自体がSQL実行時に全件ループを回したり、そもそも古いAPIとの事であったため、
%SQL.Statementに書き換えたところ、62分まで短縮することが出来ました。

ここからが問題なのですが、更なる処理時間の軽減のために時間がかかる処理を調査していたところ、
カラム情報を取得する%Get()メソッドにコストがかかっていることがわかりました。
なので現在はこれを改善したいと思っております。

こちらで動作を見たところ、最速は下記でいう所の「rset.name」でこちらを利用すると、41分まで削減されます。

https://docs.intersystems.com/iris20211/csp/docbookj/DocBook.UI.Page.cl…

しかし、我々としましてはAPIを汎用的に用いたいため、nameの部分を動的に扱えるような%Get()の様な仕組みが欲しいです。

4
0 273
質問 Kobata Makoto · 8月 10, 2022

皆様こんにちは。

ubuntu 22.04 LTSに対してIRIS-Community 2022.1.0.209.0をインストールしようとしたところ、

下記のようなエラーが出てインストールができない状態です。

LTSバージョンではSSLがversion3.0.2になっていますので、手動にてversion1.1.1をインストールしてみましたが

改善されません...製品版のIRIS 2022.1.0.209.0であれば正常にインストールできますので、Community Editionだけの

問題のような気もしています。 ← こちらは製品版でも同じ現象でした...><

どなたか知見をお持ちの方おられないでしょうか?

----- ■以下エラー

Warning: The installer can't find a platform in this distribution
supported by your system.

Searching for platforms that might install in unsupported mode...

     1) Ubuntu LTS (x64)

Enter the number for your system:  1

Your system type is 'Ubuntu LTS (x64)'.
openssl

2
1 427
質問 Yuji Ohata · 6月 13, 2022

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

現在テーブルを用いてシステムの設計を行っておりますが、
トランザクション中に、そのトランザクションの影響を受けずにテーブルを
更新するような仕組みが欲しいと考えております。
(トランザクションがRollbackされても、そのテーブルの更新だけは確定させたい。)

例えば$INCREMENT()はトランザクション中であっても、その制約を無視して値を更新できます。
そのような回避策がないかをご教示いただきたいです。

 

用途としては、連番を生成するAPIを作成していて、その値をテーブルで管理しています。
このAPIは複数プロセスから呼ばれることがありますが、
1トランザクション中の連続Updateにより、行ロックからテーブルロックへの昇格が行われる
(1000行以上行ロックをしたときのIRISの仕様)ことで、
他プロセスがAPIを利用できなくなるなどの影響が出ています。
今回のAPIに関しては、番号重複さえ起きなければよいので、そのような影響は受けたくありません。

極力グローバルは用いない設計としたいので、テーブルで対応したいです。
すいませんが、何か情報をお持ちの方はご回答いただけますと幸いです。

4
0 525