質問 Yuji Ohata · 2023年4月13日 Pythonからネームスペースを指定してグローバルを参照する方法。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 現在、Embedded Pythonを用いて開発を行おうとしているのですが、別のNMSPに存在するグローバルをiris.gref()で参照する方法がわかりませんでした。 > iris.gref("^[NMSP]GBL") <-----こうしても自身のNMSPのグローバルを参照してしまう。 諦めてznでネームスペースを切り替えてみようかな、とも思ったのですが、python上でznをかける方法もよくわからず、対応方法に悩んでいます。 どなたか、上記の対応方法についてご存じな方はいらっしゃいませんでしょうか? #Embedded Python #InterSystems IRIS 1 4 1 68
質問 Yuji Ohata · 2023年3月24日 グローバルをODBCツールで参照したい。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 私たちのシステムでは一部グローバルを利用しているものがあるのですが、それをテーブル定義したものと同様にDbeaver等で参照できるようにしたいと考えております。 もともと定義していたグローバル(キーを二つ持つもの)に対して、対応するPersistentのクラスを作成し、DataLocationをそのグローバルにすることで、Dbeaverからそのクラスの存在は見えるようになったのですが、valueの値を参照することできず、困っています。どなたか情報をお持ちでしたらご教示いただけないでしょうか…。 ■グローバル>zw ^Test^Test(1,2)="A"^Test(1,3)="B"^Test(2,1)="C"^Test(2,2)="D"■永続クラス #InterSystems IRIS 0 2 0 54
質問 Yuji Ohata · 2022年12月28日 インスタンスの起動イベントをクラスで拾いたい。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 どなたかインスタンスの起動を%ZSTART等のMACではなく、クラスのコールバック等で検知する方法をご存知ではないでしょうか? 背景としましては以下の通りです。 =================================================================== 現在、Interoperabilityを利用する機能を開発しております。Ens.Productionを継承したクラスの中でOnStart()をoverrideしており、その中で上記のクラス自身をリコンパイルする処理が含まれております。 OnStart()でリコンパイルが行われる際、プロダクションの定義が変更されているとそのプロセスでのプロダクションの起動が失敗してしまいます。(プロダクション上の定義と、実際のクラスの状態に不一致が発生するため。) そのため、クラス自身のリコンパイルをプロダクションの開始時ではなく、インスタンスの開始時にしたいのですが、%ZSTART等のMACファイルは今回利用したくありません。 #InterSystems IRIS 0 6 0 77
質問 Yuji Ohata · 2022年12月14日 Ubuntuにおけるpython開発環境について。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 この度、新たにUbuntu環境にIRISを入れてEmbedded Pythonを用いて開発をすることとなりました。初期設定として、Ubuntuへのpythonのインストールが必要だと考えているのですが、その時のバージョンの指定等はあるのでしょうか? 公式サイトを漁ってもうまく見つけられず、ご存知の方がいらっしゃれば教えてください。同様の開発をされている方で、躓きポイントなど(Ubuntuだとスタジオ使えないからVSCode必須だよ)があれば、合わせて助言頂けますと幸いです #Python #Ubuntu #InterSystems IRIS 0 2 1 101
質問 Yuji Ohata · 2022年10月24日 SQLの実行で意図せぬ結果になる。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 SQLの実行結果について、意図せぬ結果になるものが二点ありますので、利用方法等に誤りがないかを確認させてください。 ①CREATE TABLE Tmp.AAA AS SELECT * FROM Mst.AAA WHERE column = ?⇒管理ポータルで実行しても、?パラメータを置換するダイアログが表示されず、 オンコードで%Execute()しても実行エラーになる。 ★この構文では?パラメータは利用できないのでしょうか? #SQL #InterSystems IRIS 0 8 1 108
質問 Yuji Ohata · 2022年9月13日 テーブルアクセス結果の取得APIについて。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 現在開発している処理の中で、大量データをSELECT & INSERTする処理があり、合計で91分かかっています。この処理で用いるSQLは実行結果を再利用したい等の意図があったため、ScrollableResultSetを用いていましたが、このAPI自体がSQL実行時に全件ループを回したり、そもそも古いAPIとの事であったため、%SQL.Statementに書き換えたところ、62分まで短縮することが出来ました。 ここからが問題なのですが、更なる処理時間の軽減のために時間がかかる処理を調査していたところ、カラム情報を取得する%Get()メソッドにコストがかかっていることがわかりました。なので現在はこれを改善したいと思っております。 こちらで動作を見たところ、最速は下記でいう所の「rset.name」でこちらを利用すると、41分まで削減されます。 #InterSystems IRIS 0 4 0 114
質問 Yuji Ohata · 2022年6月13日 トランザクション中に任意のテーブル更新だけ先にCommitを確定させたい。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 現在テーブルを用いてシステムの設計を行っておりますが、トランザクション中に、そのトランザクションの影響を受けずにテーブルを更新するような仕組みが欲しいと考えております。(トランザクションがRollbackされても、そのテーブルの更新だけは確定させたい。) 例えば$INCREMENT()はトランザクション中であっても、その制約を無視して値を更新できます。そのような回避策がないかをご教示いただきたいです。 用途としては、連番を生成するAPIを作成していて、その値をテーブルで管理しています。このAPIは複数プロセスから呼ばれることがありますが、1トランザクション中の連続Updateにより、行ロックからテーブルロックへの昇格が行われる(1000行以上行ロックをしたときのIRISの仕様)ことで、他プロセスがAPIを利用できなくなるなどの影響が出ています。今回のAPIに関しては、番号重複さえ起きなければよいので、そのような影響は受けたくありません。 #InterSystems IRIS 0 4 0 164
質問 Yuji Ohata · 2022年5月26日 スタンドアロン環境におけるEmbeded Pythonの利用について。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 EmbededPythonに興味があり、利用を検討しているのですが、スタンドアロン下におけるライブラリの使用方法について疑問があります。 #Python #InterSystems IRIS 1 2 1 172
質問 Yuji Ohata · 2022年3月6日 Interoperabilityのスケジュール起動について。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 現在複数のJob実行の仕組みをInteroperabilityの機能を使って実現しておりますが、特定のビジネスサービスは、xx:xx~yy:yyの間実行させたくない、という仕組みを実現させる必要が出てきました。 https://docs.intersystems.com/iris20201/csp/docbookj/DocBook.UI.Page.cls... ここに「スケジュール指定の定義」というものがあり、まさにこれが利用できるのかと思ったのですが、文献を見る限りだと、プロダクションそのものを停止するような仕組みに見えており、また実際に定義を作ってみたのですが、それをどうやってプロダクションへ反映させるかもわかりませんでした。 #Ensemble 0 2 0 104
質問 Yuji Ohata · 2022年2月17日 マニフェストを利用したNMSPの作成について。 こんにちは、皆さま。業務でIRISを用いて開発を行っている者です。 現在、共通のIRIS環境を複数個所に用意するため、インストール・マニフェストを利用した環境構築の仕組みを作成しております。https://docs.intersystems.com/iris20211/csp/docbookj/DocBook.UI.Page.cls... #相互運用性 #Ensemble #InterSystems IRIS 0 2 0 84