#InterSystems IRIS

1 フォロワー · 1.3K 投稿

InterSystems IRISは総合データプラットフォームです

    InterSystems IRISは、企業にとって最も価値のある資産(データ)の取得、共有、理解、そしてデータに基づく行動のために必要なすべてのものを提供します。

    完全なプラットフォームである InterSystems IRIS は、複数の開発技術を統合する必要がありません。より少ないコードで開発が可能で、そのアプリケーションは、システムリソース、メンテナンスなども少なくて済みます。

質問 Yuji Ohata · 3月 29, 2021

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

ObjectScriptでは様々な型の変数定義が可能ですが、
実際に定義された変数(Object)から、その変数の型を逆引きする方法を
ご存じな方はいらっしゃいませんでしょうか?

理想としては、Java等で利用可能な『instanceof』演算子の
代替えとなるような仕組みが望ましいです。

力技で何とかなりそうなら、専用のメソッドみたいなものを
自作で作ってもよいかなとは考えておりますが、
現状その力技すら思いついていない状況です。。。

何か情報をお持ちの方がいらしたら、助言いただけますと幸いです。

4
0 453
お知らせ Mihoko Iijima · 3月 29, 2021

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

第11回 IRIS プログラミングコンテスト - 開発者ツール編 の 続報 📣 の「テクノロジーボーナス」についてご紹介します。

今回のコンテストも、チームで開発した作品もご応募いただけます!ぜひコンテスト詳細ページもご確認ください!

Docker container usage - 2 points

アプリケーションがコンテナ版 IRIS を使用している場合「Docker container」ボーナスを獲得できます!

シンプルな開発環境テンプレートをご用意しています。ぜひご利用ください。

ZPM Package deployment 2 points

フルスタックアプリケーション用の ZPM(ObjectScript Package Manager) パッケージをビルドして公開し、それを使用してデプロイできるようにすると2ポイント獲得できます。

以下のコマンド実行例は、 IRIS に ZPM クライアントをインストールしパッケージをインストールしている例です。

zpm "install your-multi-model-solution"

詳しくは、ZPM client や ドキュメント をご参照ください。

Unit Testing - 2 points

0
0 104
記事 Mihoko Iijima · 3月 26, 2021 2m read

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

Linux で シェルスクリプト(shell script) からルーチンやメソッドを実行し戻り値を取得するには、iris コマンドを使用します。

詳細はドキュメント「インスタンスの接続について」 をご参照ください。

コマンド記述例は以下の通りです。

iris session インスタンス名 -U ネームスペース名 "実行ルーチン・メソッド"

 

シェルスクリプトへの戻り値の指定は、ルーチンやメソッド終了時に指定する QUIT や RETURN コマンドに引数を指定する方法ではなく、プロセス処理終了時に %SYSTEM.Process クラスTerminate() メソッドを使用して 特殊変数 $? に値を返す方法を利用します。

値は、0~255 を指定できます。 ルーチンでの利用例は以下の通りです。

// ルーチン名をTestとします
start1() public {
 hang 5  // 5秒待つ
 //第2引数に指定した数値がシェルスクリプトに戻ります
 set st=$system.Process.Terminate($JOB,11)
}

 

実行例は以下の通りです。

# iris session iris -U USER "start1^Test()"
# echo $?
11
0
0 1493
記事 Mihoko Iijima · 3月 26, 2021 1m read

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

管理ポータルを使用して確認する場合は、以下の手順で参照できます。

管理ポータル > [システムエクスプローラ] > [グローバル] の画面で、ネームスペースではなく データベース を指定し、IRISTEMP / CACHETEMP データベースを選択すると参照できます。

 

ターミナル上で確認する場合は、znspace(省略形:zn)コマンドのパラメータとしてネームスペース名ではなく、データベースディレクトリ名を指定することで該当データベースのみに存在するグローバルを参照できます。

IRISTEMP データベース上のグローバルを参照する場合、以下例のように移動します。

USER>zn "^^../IRISTEMP"
..iris\mgr\iristemp\>
0
0 293
記事 Megumi Kakechi · 3月 25, 2021 3m read

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


^%GSIZE ユーティリティでは、グローバルのサイズを算出することができます。

このユーティリティで出力される各項目の意味について説明します。

例えば、USERネームスペースのグローバルについて do ^%GSIZE を実行し、以下のように出力結果を得られたとします。

0
0 567
記事 Megumi Kakechi · 3月 25, 2021 2m read

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

以下のサンプルでは、画像ファイルをクラスプロパティにBase64文字列にエンコードして保存し、再びそれをBase64でデコードし、別のファイルに復元しています。


【使用クラス】

Class User.test Extends %Persistent
{
Property pics As %GlobalBinaryStream;
}


【取込み時】

  set x=##class(User.test).%New() // ここに保存

  // 画像準備
  set file=##class(%File).%New("c:\temp\Mii.png")
  do file.Open("RUK\BIN\")
  for {
       if file.AtEnd=1 quit
       // 画像を1024 byteずつ Base64形式に変換(エンコード)
       set cnt=file.Read(1024)
       set b64=$system.Encryption.Base64Encode(cnt) // b64: 1402byte
       do x.pics.Write(b64)
  }
  do x.%Save()
  do file.Close()
0
1 1371
InterSystems公式 Yoichi Miyashita · 3月 25, 2021

対象バージョン: 
   Caché/Ensemble、InterSystems IRIS および IRIS for Health のすべてのバージョン、上記のデータプラットフォームバージョンに基づくすべての HealthShare 製品

対象プラットフォーム: すべて

InterSystemsは、非常にまれな状況でプライマリミラーメンバー以外のミラーメンバーでデータの不整合を引き起こす可能性がある問題を修正しました。
この問題は、上記の InterSystems 製品のバージョンで発生する可能性があります。

[発生する問題]
ミラーリングを使用しているシステムでデータの不整合性が発生します。

[問題の詳細]
この問題は、ミラーリングされたシステムでの通常の操作中にエラーなく発生します。
この問題によりミラーメンバーで一部のジャーナルレコードのデジャーナル処理が失敗し、ミラーメンバー間でデータの不整合が発生します。
これは、フェイルオーバーメンバーと非同期メンバーの両方で発生する可能性があります。

0
0 240
記事 Makiko Kokubun · 3月 23, 2021 2m read

*この動画は、2021年2月に開催された「InterSystems Japan Virtual Summit 2021」のアーカイブです。

この動画では、Caché/EnsembleからInterSystems IRISへの移行プロセスについてご説明しています。

Caché/Ensembleから InterSystems IRIS への移行を考えられている方は、まずこちらをご覧ください。
「移行する際の注意点」、「移行の方法」、「必読ドキュメント」、「キットや評価ライセンスの入手方法」など、IRIS移行の際に必要となる情報をまとめてご案内しています。

もくじ
 0:50~ InterSystemsIRIS の簡単な紹介
 2:05~ サポートプラットフォームについて
 2:55~ 移行方法について(インプレース変換のご紹介)
     ⇒インプレース変換:Caché/Ensembleから直接アップグレードが可能です(2016.2~)
 5:35~ 各種ドキュメントのご紹介
 7:10~ キットや評価ライセンスの入手方法
10:50~ 新しいリリースサイクル(EM/CDリリース)
12:25~ InterSystems IRIS 導入ガイドについて
     ⇒レガシー機能の取り扱いや注意点など、内容を簡単にご紹介
15:40~ インプレース変換の手順とデモ(デモは19:15~)

0
0 293
記事 Mihoko Iijima · 3月 19, 2021 2m read

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

各タイムアウト値の意味は以下の通りです。

(1) [サーバ応答タイムアウト]

この設定時間内に、IRIS/Caché での処理(ルーチンやクエリの実行)が終わらない場合は、ブラウザ側にエラーを返します。

例) この値が60秒の時に、ルーチン/メソッド/クエリ実行に 90秒 かかる場合にはエラーになります。

(2) [キューイングされたリクエストのタイムアウト]

CSP/REST で設定する IRIS/Caché サーバごとに、CSP/REST を同時実行できるプロセス数を制限できます。

たとえば、サーバ接続最大数=3の場合、表示に数十秒かかるページを複数同時に要求した場合、4つ目以降のリクエストは、Web/CSP ゲートウェイ上で「キュー」に入り待ち状態になります。

このキューで待つ最大時間が (2) のタイムアウトになります。

(3) [非活動タイムアウト]

CSP/REST では、IRIS/Caché サーバ上に待ち受けプロセスが複数でき、「サーバ接続最大数」まで待ち受けプロセスが出来る可能性があります。

各プロセスが、次の要求が来るまで待機する時間がこのタイムアウト値になります。

タイムアウト後、プロセスは自動的に消滅します(これらのプロセスはライセンスを消費しません)。

詳細は下記ドキュメントページをご参照ください。

0
0 889
記事 Mihoko Iijima · 3月 19, 2021 3m read

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

複数の SQL 文を実行する GUI はありませんが、複数の SQL 文を含むファイルを作成しファイルをインポートしながら SQL を実行する方法で対応できます。

ご利用バージョンによって使用するユーティリティメソッドが異なります。

2020.3以降をご利用の場合は %SYSTEM.SQL.Schema クラスの ImportDDL() メソッドを使用します。

2020.2以前をご利用の場合は %SYSTEM.SQL クラスの DDLImport() メソッドを使用します。 

1)バージョン 2020.3 以降での方法:%SYSTEM.SQL.Schema クラスの ImportDDL() メソッドの利用

インポート用ファイルに記述するSQL文が複数行ある場合は、記述する SQL の後ろに GO 文を記述する必要があります。

インポートファイル例は以下の通りです。

INSERT INTO Test2.Person (Name) values('test1')
go
INSERT INTO Test2.Person (Name) values('test2')
go
INSERT INTO Test2.Person (Name) values('test3')
go
0
0 10845
記事 Toshihiko Minamoto · 3月 17, 2021 31m read

この記事では、従来のIRISミラーリング構成の代わりに、Kubernetesの Deploymentと分散永続ストレージを使って高可用性IRIS構成を構築します。 このデプロイでは、ノード、ストレージ、アベイラビリティーゾーンといったインフラストラクチャ関連の障害に耐えることが可能です。 以下に説明する方法を使用することで、RTOがわずかに延長されますが、デプロイの複雑さが大幅に軽減されます。

0
0 1255
お知らせ Mihoko Iijima · 3月 16, 2021

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

世界中の開発者からの熱いご要望により、新たなコンテストの開催が決定しました!

🏆 InterSystems IRIS プログラミングコンテスト: 開発者ツール 🏆

応募期間は 2021年3月29日~4月18日 です!

💰 賞金総額: $8,500 💰

(投票期間は 2021年4月19日~25日、勝者発表は 4月26日を予定しています)

InterSystems IRIS を使用して、開発の迅速化、より質の高いコードの提供、テスト、デプロイ、サポート、またはソリューションの監視を支援するアプリケーションやツールを開発し、ご応募ください!

優勝特典

1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。

🥇 1位 - $4,000 

🥈 2位 - $2,000 

🥉 3位 - $1,000

2、開発者コミュニティで多く票を集めたソリューションには、以下の賞金が贈られます。

🥇 1位 - $750 

🥈 2位 - $500 

🥉 3位 - $250

複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。

参加資格

どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます)

0
0 210
記事 Toshihiko Minamoto · 3月 15, 2021 16m read

InterSystems IRIS では、情報を格納する「グローバル」というユニークなデータ構造をサポートしています。 基本的に、グローバルとは、マルチレベルのインデックスを持つ永続配列であり、トランザクションの実行やツリー構造のスピーディなトラバーサルといった機能が備えられているほか、ObjectScript として知られるプログラミング言語にも対応しています。

ここから先、少なくともコードサンプルについては、グローバルの基礎を理解されているという想定のもとに話しを進めていきます。

グローバルはデータを保存するための魔法の剣です パート1
グローバルはデータを保存するための魔法の剣ですパート2 - ツリー
グローバルはデータを保存するための魔法の剣です パート3 - 疎な配列

グローバルは、普通のテーブルとは全く異なる構造でデータを格納し、OSI モデルの下位層で動作します。 それでは、グローバルを使ったトランザクションとはいかなるもので、どのような特性が見られるのでしょうか。

リレーショナルデータベースの理論では、ACID テスト (Wikipedia で ACID を参照する) に合格するトランザクションこそが、適切に実装されたトランザクションとされています。

0
0 1007
質問 Mitsuru Amano · 3月 13, 2021

こんにちは、皆さん

私は、%CSP.WebSocketの非同期動作(SharedConnection=1)で、ソケットのクローズを検知する手段が見つからなくて困っています。

WebアプリケーションとIRIS間でソケットの接続、データの送受信は出来ましたが、Webアプリケーション側でソケットクローズしたとき、IRIS側でそれを検知する方法が分かりませんでした。

どなたか、IRIS(サーバ側)でソケットのクローズを検知する方法をご存じでしたら教えて下さい。

3
0 237
記事 Megumi Kakechi · 3月 10, 2021 3m read

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

REST アプリケーションはステートレスであることが想定されています。

しかし、複数の REST 呼び出し間でデータを保持したい場合などの理由で、Webセッションを使用したい場合は、UseSession パラメータを使用することができます。

以下のように、Web アプリケーションのディスパッチクラスとして定義された %CSP.REST のサブクラスでUseSession パラメータを指定することで、CSPと同じようにWebセッションを使用することが可能となります。

Class REST.MyServices Extends %CSP.REST
{
 Parameter UseSession As Integer = 1;


詳細は以下のドキュメントをご覧ください。

REST での Web セッションの使用


以下は、UseSession パラメータを使用した簡単なサンプルになります。最初に、2つのクラスを作成してください。


*  REST.SessionTest.cls

0
0 1173
記事 Toshihiko Minamoto · 3月 10, 2021 9m read

デベロッパーの皆さん、こんにちは!

最近、当社は InterSystems Package Manager (ZPM) をリリースしました。 ZPM を開発した理由の 1 つは、ソリューションをパッケージ化して ZPM レジストリに提出することにより、そのデプロイを「install xxx package」のようなコマンドを実行するだけの単純な作業にするためです。

これを行うには、InterSystems IRIS パッケージの中身を説明する module.xml ファイルをリポジトリに導入する必要があります。

この記事では、module.xml ファイルの異なる構成要素を説明し、独自のファイルを作成する方法をご紹介します。

まずは、samples-objectscript パッケージから始めます。以下のコマンドを実行すれば、IRIS に ObjectScript のサンプルアプリケーションがインストールされます。

zpm: USER>install samples-objectscript

おそらく、これほどシンプルなパッケージはないと思います。以下は、パッケージの中身を説明する module.xml です。


<Export generator="Cache" version="25">
  <Document name="samples-objectscript.ZPM">
    <Module>
      <Name>samples-objectscript</Name>
      <Version>1.0.0</Version>
      <Packaging>module</Packaging>
      <SourcesRoot>src</SourcesRoot>
      <Resource Name="ObjectScript.PKG"/>
    </Module>
  </Document>
</Export>
0
0 263
記事 Mihoko Iijima · 3月 9, 2021 1m read

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

ダイナミックオブジェクトから JSON 文字列を生成するときに使用する %ToJSON() の引数にストリームオブジェクトを指定することでエラーを回避できます。

コード例は以下の通りです。

USER>set temp=##class(%Stream.TmpCharacter).%New()

USER>set jsonobj={}

USER>set jsonobj.pro1=["a","b","c","d"]

USER>set jsonobj.pro2=["あ","い","う","え"]

USER>do jsonobj.%ToJSON(temp)

USER>write temp.Size
51
USER>write temp.Read()
{"pro1":["a","b","c","d"],"pro2":["あ","い","う","え"]}

 

詳細はドキュメントもご参照下さい。

【IRIS】大きいダイナミック・エンティティからストリームへのシリアル化

大きいダイナミック・エンティティからストリームへのシリアル化

3
0 569
お知らせ Mihoko Iijima · 3月 8, 2021

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

第10回 InterSystems グランプリ・プログラミングコンテスト への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。

今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

🏆 Experts Nomination  - 特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。 

🥇 1位 - $6,000 は  vscode-intersystems-iris を開発された @Dmitriy Maslennikov さんに贈られました! 

🥈 2位 - $3,000 は iris-rad-studio を開発された @Henrique Dias Dias さんに贈られました!

🥉 3位 - $2,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました!

🏆 Community Nomination - 最も多くの票を獲得したアプリケーションに贈られます。

🥇 1位 - $3,000 は HealthInfoQueryLayer を開発された @Botai Zhang さんに贈られました!

1
0 103
記事 Mihoko Iijima · 3月 9, 2021 1m read

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

INFORMATION_SCHEMA スキーマを使用して取得できます。

INFORMATION_SCHEMA はシステム用スキーマのため、デフォルトでは管理ポータルの SQL メニューに表示されません。

表示させる方法は以下の通りです。

  1. 管理ポータル→システムエクスプローラ→SQL メニューを開きます。
  2. スキーマのプルダウン左にある「システム」をチェックします。
  3. スキーマのプルダウンから INFORMATION_SCHEMA を選択します。

指定のテーブル(Test.Person)に対するID、フィールド名(COLUMN_NAME)、データタイプ(DATA_TYPE)、説明(DESCRIPTION)を取得するSQLは以下の通りです。

SELECT ID,COLUMN_NAME,DATA_TYPE,DESCRIPTION
FROM INFORMATION_SCHEMA.COLUMNS
where TABLE_SCHEMA='Test' AND TABLE_NAME='Person'

 

関連するFAQトピックもご参照ください:「プログラムから、クラス定義に記述されたプロパティ定義を取得する方法はありますか?」

0
0 357
記事 Mihoko Iijima · 3月 9, 2021 3m read

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

SYS.ApplicationError クラスの ErrorList クエリを使用します。

注意1:%SYS ネームスペースで実行します。

注意2:ストアド化していないユーティリティのため %SQL.Statement ではなく %ResultSet クラスを利用します。

コマンド実行例は以下の通りです。

0
0 184
質問 Seiji Hirose · 2月 23, 2021

弊社では、Cacheの時からExcel(VBA)を使用して、Cache側のクラス定義を抽出して画面に表示する、という開発サポートツールを作成して使用していました。

今回、IRISベースでの開発に移行するにあたって、このExcel(VBA)の動作確認をしました。

実施したことは、VBAのエディタ画面にあるメニューから「ツール」→「参照設定」へと進み、表示される選択リストの「CacheActiveX3.0[IRIS] Type Library」を選択しなおすことで、VBAのコードを変更することなく動作する事が確認できました。

このようなExcel(VBA)への対応はカットされたのではないかと不安がありましたが、流石ですね、ちゃんとカバーされていました。

なお、Type Libraryの名称が「CacheActiveX」で始まっていたのはご愛嬌でしょうか?Cache経験者であれば、問題ないと思いましたが、IRISから使い始めた方にとっては、少々困惑されるかも、と感じました。

Excel(VBA)でIRISに接続する事例がどの程度存在するのかは不明ですが、Excel(VBA)でIRISに接続できると便利だと感じています。今時ですから、ODBC  を使った方が分かりやすいかも知れませんね。

8
0 851
記事 Mihoko Iijima · 3月 5, 2021 1m read

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

永続クラス(=テーブル)定義に提供される %BuildIndices() メソッドの引数に、インデックスを再構築したい ID の開始値と終了値を指定することにより、その範囲内のインデックスのみが再構築できます。
 

例えば、Sample.Person クラスにある NameIDX インデックスと ZipCode インデックスを ID=10~20 のみ再構築する場合は、以下のように実行します(ID の範囲は、第5引数、第6引数に指定してます)。

 set status = ##class(Sample.Person).%BuildIndices($LB("NameIDX","ZipCode"),1,,1,10,20) 

 

$LB() は $ListBuild() 関数で、%BuildIndices() メソッドでは、インデックス名を指定するために使用しています。

インデックスの再構築方法については、ドキュメントもご参照ください。

2018.1 以下はこちらのドキュメントをご参照ください。

0
0 483
記事 Mihoko Iijima · 3月 5, 2021 2m read

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

※ ここで説明するバックアップ方法は、外部バックアップ(##class(Backup.General).ExternalFreeze()を使用する方法)ではご利用いただけません。

その1(差分)

毎週日曜日1時にフルバックアップ、月曜日~土曜日の1時に差分バックアップを取得しているとします。

差分バックアップは、前日の1時に取得したバックアップからの更新ブロックが含まれるバックアップです。

その2(累積)

毎週日曜日1時にフルバックアップ、月~火曜日の1時に差分バックアップ、水曜日1時に累積バックアップ、木~土曜日の1時に差分バックアップを取得するとします。

累積バックアップは、前回のフルバックアップからの更新ブロックが含まれるバックアップで、水曜日に累積バックアップを取得した場合、月曜日と火曜日の差分バックアップは水曜日に累積バックアップに含まれるため、累積バックアップ成功後、月曜日と火曜日に差分バックアップは破棄できます。

オンラインバックアップ詳細については「データベースのバックアップ方法について」や、下記ドキュメントをご参照ください。

オンライン・バックアップ【IRIS】

Cachéオンライン・バックアップ
 

0
0 857
記事 Hiroshi Sato · 3月 3, 2021 5m read

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

InterSystems製品を停止しないバックアップ方法は、3種類あります。


① 外部バックアップ
② オンライバックアップ
③ レガシー並行外部バックアップ

各詳細については、以下ドキュメントをご参照ください。


バックアップ方法について【IRIS】
バックアップ方法について
それぞれの特徴について、簡単に解説します。

0
0 1012
記事 Hiroshi Sato · 3月 3, 2021 3m read

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

通常SQLCODE -110(Locking conflict in filing)のエラーはロックが競合した場合に発生します。

大量レコードが一度に更新された場合、その件数がロック閾値を超えてロックエスカレーションを起こしてテーブルロックとなる可能性があり、そのためにロックの競合が起きやすくなっていることが考えられます。

このロック閾値を上げることにより、この競合を回避できる可能性もあります。

しかしこの閾値を上げることにより、システムが必要とするロック管理用のメモリが増えるという副作用がありますので、慎重な検討が必要です。

あるいはテーブルロックになる可能性を排除できずに、更新タイミング等アプリケーションの仕様を見直す必要があるかもしれません。

またSQLCODE -110はロックテーブルの空き容量が不足した場合にも発生する可能性があります。

コンソールログファイル(※)をご確認いただき、「LOCK TABLE FULL!!!」のエラーが記録されているようであれば、ロックテーブルの容量不足が原因です。

※ InterSystems IRIS のコンソールログファイル名は messages.log、Caché/Ensemble/HealthShare コンソールログファイル名は cconsole.log

この場合は、

0
0 1455
記事 Hiroshi Sato · 3月 3, 2021 2m read

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

InterSystems Data Platform自身には、ソース管理を行う機能はありません。

2016.2以降のバージョンをご使用の場合、統合開発環境として VSCode をご利用いただくことで、VSCode でご利用いただけるソース管理機能をご使用いただけます。

VSCode で ObjectScriptの操作を行うためには、専用エクステンションのインストールが必要です。 

使用方法については、コミュニティの記事「VSCode を使ってみよう!」をご参照ください。

また、「VSCodeでのソースコード管理について」についても併せてご参照ください。

2016.2より前のバージョンをご使用の方でも使用できる方法としては、InterSystems製品 のIDEであるスタジオに、外部のソース管理ツール、製品と連携するためのフック機能があります。

このフック機能は、複数のAPIで構成されており、お客様毎にご自身の環境に合わせて、作りこむことを前提に提供されております。

よく使われるマイクロソフトのVisual Source SafeとSubversion(SVN)については、テンプレートがあります。

このテンプレートを利用すると、作りこみの作業を短縮することが可能です。

0
0 485
記事 Megumi Kakechi · 3月 2, 2021 2m read

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


管理ポータル:システムオペレーション > データベース にあるオプションボタンラジオボタン)「空き容量ビュー」で表示される内容は、システムクラス SYS.Database のFreeSpace クエリで取得可能です。

    

次のようなコードでクエリを実行します。

例:
(%SYSネームスペースにて作成、実行します)

 /// ZISJ.mac
 Set stmt=##class(%SQL.Statement).%New()
 Set status=stmt.%PrepareClassQuery("SYS.Database","FreeSpace")
 Set rs=stmt.%Execute()
 While rs.%Next() {
   Write !
   For i=1:1:9 {
     Write rs.%GetData(i),","
   }
 } 


もしくは、以下のようにも行えます。

0
0 384
記事 Toshihiko Minamoto · 3月 1, 2021 6m read

開発者の皆さん
こんにちは。
Windows共有しているリモートサーバに出力されたファイルでデータ連携する際、セキュリティ上、資格情報が必要となるケースが良くあるかと思います。いままでCachéで連携していた時には%ZSTARTルーチンや常駐プロセスのルーチンにて「net useコマンド」を実行されていたかと思いますが、IRISではInteroperability機能が使用できますので、前回の記事で作成したビジネスサービスクラスを元に、資格情報を使ってWindows共有フォルダにアクセスできる機能を追加したいと思います。

仕組み

ビジネスサービスが起動、停止する際に呼び出されるOnInit()、OnTearDown()メソッドにnet useコマンドを埋め込み、指定されている資格情報を使ってnet useコマンドで共有フォルダへの接続、切断を行います。

認証情報設定パラメータ追加

ビジネスサービスの設定画面で認証情報を選択できるよう、以下のようにCredentialsプロパティ、SETTINGSパラメータをTest.BS.ImportMasterクラスに設定します。

0
0 613
お知らせ Mihoko Iijima · 3月 1, 2021

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

第10回 InterSystems グランプリ・プログラミングコンテストの投票が開始されました!

🔥 これだ!と思う一押し作品に投票お願いします! 🔥

投票期間:3月1日~7日 (1週間)

投票方法は?

コミュニティメンバーはどなたでも投票いただけます!

投票種別は、Expert Nomination と Community Nomination に分かれています。コミュニティメンバーは、Community Nomination を選択いただき、どの作品がどの順位になるかを指定しながら投票してください!

Community Leaderboard:

順位 ポイント
1位 3点
2位 2点
3位 1点

そして、エキスパートノミネーションからの投票は以下の通りです(エキスパートのレベルが上がると獲得できるポイントも増えます!)。

Experts Leaderboard:

エキスパートレベル

順位
1位 2位 3位
GM、モデレーター、プロダクトマネージャーのVIPレベル 9点 6点 3点
グローバルマスターズのエキスパートレベル 6点 4点 2点
グローバルマスターズのスペシャリストレベル 3点 2点 1点
0
0 91
記事 Mihoko Iijima · 2月 26, 2021 2m read

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

%SYS.ProcessQuery クラスの AllFields クエリを使用すると取得できます。

詳細は、ドキュメント「プロセス(ジョブ)について【IRIS】 / プロセス(ジョブ)について」もご参照ください。

ターミナルでの実行例は以下の通りです。

0
0 310