背景
InterSystems IRIS 2019 では、新たに魅力的な機能が導入される予定です。 ぜひ知っておくべき魅力的な新機能の一つには、API 管理があります。
OpenAPI Initiative()は、API を定義するための標準仕様(
InterSystems は InterSystems IRIS で API 設計優先のアプローチをサポートしており、それによって先に仕様を設計してからサーバーサイドを生成できるようにしています。
InterSystems IRIS 2019 では、新たに魅力的な機能が導入される予定です。 ぜひ知っておくべき魅力的な新機能の一つには、API 管理があります。
OpenAPI Initiative()は、API を定義するための標準仕様(
InterSystems は InterSystems IRIS で API 設計優先のアプローチをサポートしており、それによって先に仕様を設計してからサーバーサイドを生成できるようにしています。
前回は GKE サービスを使用して IRIS アプリケーションを Google Cloud 上で起動しました。
また、クラスターを手動で(または gcloud を介して)作成するのは簡単ですが、最新の Infrastructure-as-Code(IaC)手法では、Kubernetesクラスターの説明もコードとしてリポジトリに格納する必要があります。 このコードの記述方法は、IaC に使用されるツールによって決まります。
Google Cloud の場合は複数のオプションが存在し、その中には Deployment Manager と Terraform があります。 どちらが優れているかにつては意見が分かれています。詳細を知りたい場合は、この Reddit のスレッド「Opinions on Terraform vs. Deployment Manager?」と Medium の記事「Comparing GCP Deployment Manager and Terraform」を参照してください。
これはInterSystems FAQ サイトの記事です。
InterSystemsの製品には同時ユーザー数でライセンスの容量を決定する製品とサーバーのCPUコア数で容量を決定する製品の2種類があります。
同時ユーザー数ライセンスタイプの場合、CPUコア数により使用可能なライセンスのグレードに制限があります。
物理サーバーの場合には、そのサーバーが保持しているCPUコア数の総数をカウントします。
そして、その総数が該当グレードの最大CPUコア数を超えている場合には、その上位グレードを使用しなければなりません。
サーバー仮想化ソフトウェア(VMWare、Hyper-Vなど)を利用する場合には、その仮想サーバーに割り当てられたCPUコア数をカウントします。
同様にその総数が該当グレードの最大CPUコア数を超えている場合には、その上位グレードを使用しなければなりません。
CPUコア数ライセンスタイプの場合、コア数によりライセンスの容量が決まります。
CPUコア数の数え方は、同時ユーザーライセンスタイプと同じです。
物理サーバーの場合は、そのサーバーが保持しているCPUコア数の総数をカウントします。
サーバー仮想化ソフトウェアを利用する場合には、その仮想サーバーに割り当てられたCPUコア数をカウントします。
これは、InterSystems FAQサイトの記事です。
以下に当てはまる場合、差分バックアップではなくフルバックアップが取られます。
・リストの中に1つでもフルバックアップを取っていないデータベース(DB)が含まれるとき
・リストの中に読み込み専用のDBが含まれるとき
→読込専用DBはバックアップが取れないため、対象リストのDBは毎回フルバックアップが取られます
ReadOnlyマウントしたDBをバックアップしようとすると、以下のようなログが出力されます。
WARNING - the following directories could not be backed up c:\intersystems\ensemble\mgr\xxx\ (Database is readonly)
読込専用DBはバックアップリストから除く必要があります。
もし、読込専用DBをバックアップする場合は、別途バックアップする必要があります。
最近、InterSystems 内で PHP から Caché ベースの Web サービスに接続が必要になる事例がいくつかありました。 これらの最初の事例とは、実はこの開発者コミュニティそのものであり、他の InterSystems サイト/アプリケーションとのシングルサインオンに Web サービスを使用しています。 次の例は、パスワード認証を使用して PHP から Caché ベースの Web サービス(具体的には SAMPLES ネームスペースの Web サービス)に接続する方法を示しています。
(注意: この例は、/csp/samples に対してパスワード認証が有効になっていることを前提としています。)
<?php
// ユーザー名/パスワード用の標準 SOAP ヘッダー
// 出典元: http://stackoverflow.com/questions/13465168/php-namespaces-in-soapheade…
class WSSESecurityHeader extends SoapHeader {
public function __construct($username, $password)
{
$wsseNamespace = 'http://docs.oasis-open.
開発者の皆さんこんにちは!IRIS プログラミングコンテスト 第7回の勝者が発表されたばかりですが、第8回のテーマが発表されました!
今回のコンテストのテーマは 🏆 InterSystems Analytics Contest 🏆 です!
さぁ、年内最後のコンテストです!日本からのご応募お待ちしております!
(投票期間は 2020年12月21日~27日、勝者発表は 12月28日を予定しています)

優勝特典
1、審査員から多く票を集めたアプリケーションには、以下の賞金が贈られます。
🥇 1位 - $2,000
🥈 2位 - $1,000
🥉 3位 - $500
2、Developer Community で多く票を集めたソリューションには、以下の賞金が贈られます。
🥇 1位 - $1,000
🥈 2位 - $500
複数の参加者が同数の票を獲得した場合、全参加者が勝者となり賞金は勝者間で分配されます。
参加資格
どなたでもご参加いただけます!(InterSystems 開発者コミュニティのアカウントを作成するだけでご応募いただけます)
コンテストのスケジュール
12月7日~20日 応募期間(Open Exchange へ作成されたアプリケーションをアップロードいただける期間=2週間です。この期間内であればアップロード後も自由に編集できます。
これは、InterSystems FAQサイトの記事です。
[管理ポータル] > [システムオペレーション] > [ライセンス使用量] ページで表示される各項目の意味は以下のとおりです。
① 現在使用中のライセンス数:現時点のライセンスユニット使用数です。
② 最大ライセンス使用:インスタンスが起動した後、現在に至るまでで最もライセンス使用の大きかった時点の
"現在使用中のライセンス数"です。
③ 許可されたライセンス数(Cache.Key/iris.keyの値):該当システムで許可されている最大ライセンスユニット数です。
④ 現在の接続:現時点のクライアントからの接続数です。
⑤ 最大接続:インスタンスが起動した後、現在に至るまでで最も接続数の大きかった時点の"現在の接続"です。
(A) ローカル:表示しているサーバのインスタンスで消費しているライセンスの情報です。
(B) リモート:マルチサーバライセンスを使用して複数インスタンスでライセンス共有している場合の、共有している全インスタンスで消費しているライセンスの合計値の情報です。
※ライセンス共有を行うには、ライセンスサーバの設定が必要です。詳細は下記トピックをご参考になさってください。
複数インスタンスでライセンスを共有する場合に必要な設定
これは、InterSystems FAQサイトの記事です。
IRISTempデータベースのサイズを小さくする方法は2つあります。
一つは、IRISTempデータベースを再作成する方法です。
手順としては、下記を実行します。
これにより、3.のIRIS起動時に、IRISTempデータベースが初期サイズ(1024KB)で再作成されます。
もう一つの方法は、構成パラメータの設定による方法です。
構成パラメータ「MaxIRISTempSizeAtStart」を設定することにより、IRIS起動時のIRISTempデータベースの最大サイズを設定できます。
システムは、設定後、次のIRIS起動時に、設定された値(MB)にIRISTempの切り捨てを行います。 指定した MaxIRISTempSizeAtStart よりも現在のサイズが小さい場合は、切り捨ては行われません。
また、0 を指定すると切り捨てが行われないため、サイズは変わらないまま起動します。(デフォルト)
設定は、以下メニューから行います。
管理ポータル
[システム管理]>[構成]>[追加の設定]>[開始]>"MaxIRISTempSizeAtStart"

詳細は下記ドキュメントページをご確認ください。
MaxIRISTempSizeAtStart
これは、InterSystems FAQサイトの記事です。
IRISおよびIRISforHealthのランチャーからドキュメントをポイントすると、Web上の英語ドキュメントを参照します。
以下の設定ファイルを下記のように修正することにより、ランチャーから日本語ドキュメントを参照できるようになります。
<インストールディレクトリ>\httpd\conf\httpd-doc.conf
【IRIS】
[変更前]
Redirect /csp/docbook/ http://docs.intersystems.com/iris20201/csp/docbook/
[変更後]
Redirect /csp/docbook/ https://docs.intersystems.com/iris20201/csp/docbookj/
【IRIS for Health】
[変更前]
Redirect /csp/docbook/ http://docs.intersystems.com/irisforhealth20201/csp/docbook/
[変更後]
Redirect /csp/docbook/ https://docs.intersystems.
開発者の皆さんこんにちは!
第7回 InterSystems IRIS プログラミングコンテスト(Interoperabilityコンテスト) への応募、投票が全て終了しました。コンテストへのご参加、またご興味をお持ちいただきありがとうございました。
今回のお知らせでは、見事受賞されたアプリケーションと開発者の方々を発表します!

🏆 審査員賞 -特別に選ばれた審査員から最も多くの票を獲得したアプリケーションに贈られます。
🥇 1位 - $2,000 は Open API Client Gen を開発された Lorenzo Scalese さんに贈られました!
🥈 2位 - $1,000 は OCR Service を開発された YURI MARX GOMES さんに贈られました!
🥉 3位 - $250 は IRIS Interoperability Message Viewer を開発された Henrique Gonçalves Dias さんに贈られました!
🥉 3位 - $250 は interoperability-integratedml-adapter を開発された José Roberto Pereira さんに贈られました!
🏆 開発者コミュニティ賞 - 最も多くの票を獲得したアプリケーションに贈られます。
これはInterSystems FAQ サイトの記事です。
1. エクスポートAPI
a. ルーチンを個別に指定してエクスポートする場合は、$system.OBJ.Export() を使用します。
例:
do $system.OBJ.Export("TEST1.mac,TEST2.mac","c:\temp\routines.xml",,.errors)指定する形式は ルーチン名.拡張子 で、拡張子は mac,bas,int,inc,obj を指定します。
エクスポート中のエラーは errors に格納されます。
$system.OBJ.Export() の詳細はクラスリファレンス %SYSTEM.OBJ を参照してください。
b. ワイルドカードを使用してエクスポートする場合にも、$system.OBJ.Export() を使用します。
例:
※バージョン2008.1より前では、$system.OBJ.ExportPattern() を使用します。
2. インポート方法
a. ファイルに含まれる全ルーチンをインポートする
ファイルに含まれる全ルーチンをインポートするには $system.OBJ.Load() を使用します。
例:
do $system.OBJ.Load("c:\temp\routines.xml",,.errors)これはInterSystems FAQ サイトの記事です。
変数等命名規約に関して、InterSystems自体が定めている規則の様なものはありません。
しかし、チームで開発を行う際には、何らかの命名規約を作ることをお勧めします。
一般的には、変数名から使用目的が容易に想像できる様な名前付けが好ましいです。
名前の長短で、実行性能には有意な差はないと考えて結構ですので、一目見て内容が理解しやすく、他の名前と明確な区別ができるよう、ある程度の長さを持った命名を心がけることをお勧めします。
また、先頭のアルファベットを大文字にする、単語の先頭は大文字にするというのが一般的です。
しかし、昨今は、Javaで良く使われる、先頭は小文字で初めて、途中の単語の始まりを大文字にするという命名規約を使う開発者も増えてきました。
さらに変数のタイプ(一時変数、パラメータなど)がわかるように、先頭の文字で表現する方法もよく使われます。
(例: tSC,pLengthなど)
この記事では、OData API 標準に基づいて開発された RESTful API サービスを利用するための IRIS クライアントの開発について説明します。
HTTP リクエストを作成し、JSON ペイロードの読み取りと書き込みを行い、それらを組み合わせて OData 用の汎用クライアントアダプタを構築する方法を確認するため、多数の組み込み IRIS ライブラリを説明します。 また、JSON を永続オブジェクトに逆シリアル化するための新しい JSON アダプタについても説明します。
RESTful API の操作
REST は World Wide Web の標準化に関する作業から作成された一連の設計原則です。 これらの原則はあらゆるクライアントサーバー通信に適用でき、HTTP API が RESTful であることを説明するためによく使用されます。
REST はステートレスなリクエスト、キャッシュ処理、統一した API 設計など、さまざまな原則を網羅しています。 ただし、詳細な実装については網羅していません。また、これらのギャップを埋めるための一般的な API 仕様は存在しません。
この曖昧さは、RESTful API に幾分かの理解、ツール、より厳密なエコシステムを中心によく構築されるライブラリが不足している原因となっています。
これはInterSystems FAQ サイトの記事です。
バックアップには、以下4種類の方法があります。
詳細は、以下ドキュメントをご参照ください。
バックアップの方法について【IRIS】
バックアップの方法について
1、2、4は、インスタンスを停止せずにバックアップが行えます(末尾の関連情報もご参照ください)。3 は、インスタンスを停止した後でバックアップを行う方法です。
またシステム構成や障害バターンを基にバックアップを設計、計画する上での注意点、自動化のサンプルやバックアップを実施する上で役立つ各種関連技術についてはInterSystems Symposia 2014 発表資料 をご参照ください(※1)。
※1:InterSystems Symposia 2014でご紹介した内容で、Cachéと記載がありますがバックアップ方法についてはIRISも同様です。
【関連情報】(コミュニティ/FAQトピックをリンクしています)
これはInterSystems FAQ サイトの記事です。
(2025/2/17更新)担当される役割や学習目的に合わせた最適なラーニングパス(学習経路)を確認できるページ :InterSystems ラーニングパス をご利用ください(ページの使い方については、記事「学習目的に合わせた最適なラーニングパス(学習経路)を確認できるページ」をご参照ください)。
また、現在ご覧いただいている開発者コミュニティの中では、初心者(beginner)タグ があり、下記セルフラーニング用資料/ビデオをご用意しています。ぜひご参照ください。
セルフラーニングビデオ以外にも、過去に開催したウェビナーアーカイブビデオも公開しています👉「開発者向けウェビナー:アーカイブビデオ一覧」
ぜひご参照ください。
企業は変化の激しい業界で競争力を維持するため、イノベーションを起こす必要があります。 この製品は企業が迅速かつ安全な意思決定を行い、より正確な将来の実績を目指せるようにします。
ビジネスインテリジェンス(BI)ツールは、企業が試行錯誤に頼ることなくインテリジェントな意思決定を行うのに役立ちます。 このようなインテリジェントな決定は市場で成功するか失敗するかを決定付けます。
Microsoft Power BI は業界をリードするビジネスインテリジェンスツールの 1 つです。 Power BI では数回クリックするだけでマネージャーやアナリストが企業のデータを簡単に探索できます。 これは重要なことです。容易にデータにアクセスして視覚化できれば、それがビジネス上の意思決定に使用される可能性が高くなるからです。

FTP ファイルを Intersystems Caché からダウンロードするメソッドを以下に示します。ご質問がある場合はメッセージをお寄せください。
メソッド : 再利用可能
作成者 : Sanjib Raj Pandey、30/03/2018 に作成
downLoadFile = ファイル数またはすべてのファイル ...... ダウンロードしたいファイルを指定します、デフォルト値は 1 です。
= 1,3,7,100 ファイルなどの値を指定します。
= すべてのファイルをダウンロードするには "
皆さん、こんにちは。
開発コミュニティでの検索方法について説明します。
開発コミュニティのページで検索される場合は以下の赤枠の虫眼鏡マークをクリックします。.png)
すると、以下のようにテキストボックスのみ浮かび上がりますので、検索したい文字列を入力します。
以下のように入力した文字列をタイトルに含む記事等が一覧表示されますので、見たい記事がありましたら、その記事をクリックします。
無ければ、そのまま「Enter」キーを押下しますと以下のように検索画面が表示され、検索文字列がタイトルに含まれるものだけでなく本文中に含むものも一緒に表示されますので、見たい記事のタイトルをクリックします。
クラス、テーブル、グローバルとその仕組み
InterSystems IRIS を技術的知識を持つ人々に説明する際、私はいつもコアとしてマルチモデル DBMSであることから始めます。
個人的には、それが(DBMSとして)メインの長所であると考えています。 また、データが格納されるのは一度だけです。 ユーザーは単に使用するアクセス API を選択するだけです。
これは短く簡潔なメッセージで、一見すると素晴らしく聞こえます。しかし、実際には intersystems IRIS を使い始めるたユーザーには クラス、テーブル、グローバルはそれぞれどのように関連しているのだろうか? 互いにどのような存在なのだろうか? データは実際にどのように格納されているのだろうか?といった疑問が生じます。
この記事では、これらの疑問に答えながら実際の動きを説明するつもりです。
データを処理するユーザーは多くの場合、処理対象のモデルに偏見を持っています。
開発者はオブジェクトで考えます。
これはInterSystems FAQ サイトの記事です。
Config.Configurationクラス、SYS.Databaseクラスのメソッドを使用して、ネームスペース・データベースの作成及び登録をターミナルから実行することができます。
以下はデータベースファル/CacheDB/AAA/cache.datを作成し、構成ファイル(cache.cpf)にデータベース AAA、及び、ネームスペースAAAの登録を行う一連の実行例です。
*実行は、%SYSネームスペースで行って下さい。*
これはInterSystems FAQ サイトの記事です。
InterSystems ObjectScript言語では引数の異なる同名のメソッドを定義することはできません。
InterSystems ObjectScript言語は一般的に動的言語と呼ばれるプログラミング言語に分類されます。
ObjectScriptではメソッド実行時にどの引数を使用するかどうかは自由に制御可能ですので、動的プログラミング言語ではないJava等の言語と異なり、コンパイルの段階で厳密に引数の数でメソッドを区別する必要がありません。
従って ObjectScript言語は、オーバーロードと一般に呼ばれる言語仕様を含んでいません。
Java等で記述されたプログラムを移植する際にオーバーロード相当の機能を実現するには、
のように引数の後ろに ... を付加します。
これにより、可変長引数を渡すことが可能です。
このメソッドに複数の引数が渡された場合は、args(1)=第一引数 args(2)=第二引数というように順次設定されます。
これを使用して、メソッドコード中で渡された引数の個数を取得して処理を分岐させることができます。
※ただし、引数のデータタイプを判別することはできません。
InterSystems API Management(IAM)は、IT インフラストラクチャ内の Web ベースの API との間のトラフィックを監視、制御、および管理できる InterSystems IRIS Data Platform の新機能です。 アナウンスを見逃した方は、こちらのリンクを参照してください。 また、IAM の使い方を説明した記事もあります。
この記事では、InterSystems API Management を使用して API の負荷を分散します。
この例では、2 つの InterSystems IRIS インスタンスを使用し、クライアントに /api/atelier REST API を公開したいと思います。
そのようにしたいと思う理由は、次のようにさまざまです。
開発者の皆さん、こんにちは!
第 7 回 IRIS プログラミングコンテストの Interoperability コンテストの投票が始まりました!
これだ!と思う応募作品にぜひ投票お願いします!
投票は、Expert Nomination または Community Nomination のどちらかで行っていただきます。
Experts Nomination
あなたがインターシステムズのプロダクト・マネージャー、InterSystems 開発者コミュニティのモデレーター、またはスペシャリスト・レベル以上のグローバル・マスターであれば、エキスパート推薦(Experts Nomination)に投票してください。
Community Nomination
InterSystems 開発者コミュニティで投稿や返信を行った経験がある場合は、コミュニティ推薦(Community Nomination)で投票してください。
投票は Open Exchange コンテストページで行われ、Open Exchange にサインインする必要があります。
投票期間であれば、一度投票した後も別のアプリケーションへ投票し直すこともできます。
なお、コンテスト参加者は投票週間の間にバグの修正やアプリケーションの改善を行うことができますので、アプリケーションのリリース情報についてもお見逃しなく!
これは InterSystems FAQ サイトの記事です。
管理ポータルから行う手動のパージ(Purge)と、タスクを利用する方法があります。
データを手動でパージするには、[Interoperability] > [管理] > [管理データの削除] ページを使用します。
(このページではバックグラウンド・ジョブとしてパージを実行しますので、ページがタイムアウトしても問題ありません。)
タスクでパージする場合は、[システムオペレーション] > [タスクマネージャ] > [新しいタスク] の画面でInteroperabilityプロダクションのネームスペースを指定し、タスクタイプに「Ens.Util.Tasks.Purge」を指定します。
タスクの場合は、「TypesToPurge」の項目で以下のパージ対象タイプを選択できます(図参照)。
.png)
詳細は、以下のドキュメントをご参照ください。
これはInterSystems FAQ サイトの記事です。
システムルーチン ^DBSIZE を利用するとバックアップファイルサイズを見積もることができます(メモ1もご参照ください)。
^DBSIZE は、データベース・バックアップ・リストに選択されたデータベースを対象に、フルバックアップ/累積バックアップ/差分バックアップそれぞれのファイルサイズを見積もります。
なお、データベース・バックアップ・リストは、管理ポータルの [システム管理] > [構成] > [データベースバックアップ] > [データベース・バックアップ・リスト] から作成します。
.png)
詳細については、下記ドキュメントもご参照ください。
^DBSIZEによるバックアップ・サイズの見積もり【IRIS】
実行例は、以下の通りです。
USER>set $namespace="%SYS" //または zn "%SYS" %SYS>do ^DBSIZE Incremental Backup Size Estimator What kind of backup: 1. Full backup of all in-use blocks 2. Incremental since last backup 3. Cumulative incremental since last full backup 4. Exit the backup program 1 => 1 In-Use Block Directory Blocks Size c:\intersystems\iris1\mgr\fs\ 2,668 (8KB) c:\intersystems\iris1\mgr\irisaudit\ 102 (8KB) -------------- Total number of database blocks: 2,770 Total backup size, including overhead of volume and pass labels: For a disk file: Number of 512-byte blocks: 46,068 (23,586,816 bytes) For magnetic media: Number of 58KB blocks: 398 (23,638,016 bytes) %SYS>
こんにちは! この記事は「Prometheus で InterSystems Caché を監視する」の続きになります。 ここでは ^mgstat ツールの動作結果を視覚化する方法を見ていきます。 このツールを使用すると、Caché のパフォーマンス統計、具体的なグローバルとルーチンの呼び出し数(ローカルおよびECP 経由)、書き込みデーモンのキュー長、ディスクに保存されるブロックと読み取られるブロックの数、ECP トラフィックの量などを取得できます。 ^mgstat は(対話的に、またはによって)単独で起動したり、別のパフォーマンス測定ツールである と並行して起動したりできます。
ここでは 2 つのパートに分けて説明したいと思います。最初のパートでは ^mgstat によって収集された統計を図示し、2 番目のパートではこの統計を正確に収集する方法を集中して取り上げます。 手短に言えば、ここでは を使用しています。 ただし、 パッケージのクラス経由で収集できる大部分のパラメーターに対応したオブジェクトインターフェースがあります。 ^mgstat に表示されるのは、収集できるパラメーターのほんの一部です。 その後、Grafana ダッシュボードですべてのパラメーターを表示してみましょう。
これはInterSystems FAQ サイトの記事です。
インデックスが複数定義されているクラス/テーブルへ csv 形式等のシーケンシャルファイルから大量データをデータベースに登録する際、推奨される登録方法として、データ登録時インデックスを生成させず、登録完了後に一括でインデックスを生成する 方法があります。
この方法は、新規に大量のレコードを一括登録する際に最も有効な手段となります。
<メモ>
大量のデータを追加登録する際には、既存のデータ量と新規データ量のバランスにより、この手法が有効でないケースもあります。その場合は、インデックスの再構築を範囲指定で行うこともできます。
説明に使用するクラス定義例は以下の通りです。
Class ISJ.QL2 Extends %Persistent
{
Property Name As %String;
Property Title As %String;
Property Sex As %String;
Property Company As %String;
Property Phone As %String;
Property City As %String;
Property State As %String;
Property Zip As %String;
Index NameIndex On Name;
Index CompanyIndex On Company;
Index PhoneIndex On Phone;
}最近行われたディスカッションの中で、Caché ObjectScript における for/while loop のパフォーマンンスが話に出ましたので、意見やベストプラクティスをコミュニティの皆さんと共有したいと思います。 これ自体が基本的なトピックではありますが、他の点では合理的と言える方法のパフォーマンスが意味する内容を見逃してしまうことがよくあります。 つまり、$ListNext を使って$ListBuild リストをイテレートするループ、または $Order を使ってローカル配列をイテレートするループが最も高速な選択肢ということです。
興味深い例として、コンマ区切りの文字列をループするコードについて考えます。
そのようなループをできるだけ手短に書くと、次のようになります。
For i=1:1:$Length(string,",") {
Set piece = $Piece(string,",",i)
//piece を使って何らかの処理を実行する...
}
とても分かりやすいですね。でも、多くのコーディングスタイルガイドラインは次のようなコードを提案するかもしれません。
Set n = $Length(string,",")
For i=1:1:n {
Set piece = $Piece(string,",",i)
//piece を使って何らかの処理を実行する...
}
これはInterSystems FAQ サイトの記事です。
IRISのサービスを /usr/lib/systemd/system/iris.service に作成し systemctl ユーティリティにて設定を行います。
手順は以下になります。 ※ 作業は root ユーザまたは root 権限を持つユーザで行ってください。
1. IRISの自動起動・自動停止のスクリプトファイル「irisstartstop」を作成します。
irisstartstop
※お使いの環境にあわせて編集してください。基本的に編集が必要なのは [Service] の箇所になります。
ExecStart、ExecStop:IRIS はインスタンス名、パスは <インストールフォルダ>/bin/iris を指定します。
2.
これはInterSystems FAQ サイトの記事です。
SELECT のみを実行できるユーザを作成するには、ユーザかロールに対してテーブルへのアクセス権限を設定することで対応できます。
設定は、管理ポータルか、GRANT 文を実行することで設定できます。GRANT 文については、以下ドキュメントもご参照ください。
InterSystems SQL リファレンス - GRANT【IRIS】
CachéSQLリファレンス - GRANT
管理ポータルでの設定は、ユーザまたはロールの編集画面内「SQLテーブル」タブを使用します。
ユーザに直接設定する場合は以下のメニューを利用します。
[ホーム] > [システム管理] > [セキュリティ] > [ユーザ] > [ユーザ編集]
.png)
ロールに設定する場合は、以下のメニューを使用します。
[ホーム] > [システム管理] > [セキュリティ] > [ロール] > 新規ロール作成
※ ロール名を指定し、保存するまで詳細設定画面が表示されません。
※ 作成したロールをユーザに付与することで、テーブルへのアクセス権限をロールで一元管理できます。 SQLテーブルでの権限設定
手順は以下のとおりです。