記事 Mihoko Iijima · 2021年9月7日 3m read Windowsで InterSystems 製品をアンインストールするときの注意点 これは InterSystems FAQ サイトの記事です。 Windows システムにインストールされた InterSystems 製品を削除するには、コントロールパネルにあるプログラムの追加と削除(Windows 10の場合は、Windows の設定からアプリを選択)を使用します。 システムに変更を加えますので、管理者権限を持ったユーザでログインして作業を行う必要があります。 1) 管理者(Administrator)でシステムにログインします。 2) システムトレイから、アンインストールを行う InterSystems 製品インスタンスのランチャーを終了します(ランチャークリック → 終了)。 3)コントロールパネルにある プログラムの追加と削除 (Windows 10の場合は、Windows の設定からアプリを選択)で <InterSystems製品> instance [xxxx] ( xxxx にはインスタンス名が表示されています) を削除します。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 374
記事 Megumi Kakechi · 2023年2月6日 4m read ファイル操作関連のTips ファイルとディレクトリの操作に使用できる API 、%Library.File クラス (%File が省略形) の便利なサンプルコードをご紹介します。 こちらのAPIを使用して、ディレクトリやファイルの中身をのぞいたり、作成・書込み・読込みを行ってみます。 ★ディレクトリ内のファイル一覧をリストする 以下のサンプルは、C:\temp フォルダ内の *.txt ファイルをリストします(ファイルパス_サイズ_作成日)。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 1 0 370
記事 Megumi Kakechi · 2021年3月2日 2m read $ZF(-100) で実行したコマンドの出力を取得する方法 これは InterSystems FAQ サイトの記事です。※記事後半に、「2>&1」で 標準エラー出力(2) を 標準出力(1) にリダイレクトする方法を追記しました。 $ZF(-100) では実行したコマンドの出力を取得することはできませんが、代わりにコマンド・パイプ デバイスを使用する方法があります。 詳細は、以下ドキュメントをご参照ください。 コマンド・パイプ デバイスを使用する方法について こちらを %File クラスで使用した例が以下になります。 #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 1 0 370
記事 Mihoko Iijima · 2020年10月15日 6m read 誤って削除したグローバルを復旧させる方法 これはInterSystems FAQ サイトの記事です。 この記事では「グローバルを誤って削除してしまった!」という場合の対処方法をご紹介します。 誤って削除してしまった特定のグローバルを復旧するためには、バックアップファイルとジャーナルを使用します。復旧は、^ZJRNFILTユーティリティによるジャーナルリストアで条件を指定してジャーナルレコードをリストアする方法で行います。この方法で、ある時点のデータベースのバックアップに対して、削除が含まれるジャーナルレコードについて特定グローバルを削除するまでのものを適用することができます。 ^ZJRNFILTユーティリティの詳細については、以下のドキュメントをご参照ください。 #ObjectScript #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 365
記事 Shintaro Kaminaka · 2020年8月20日 23m read InterSystems IRIS Open Authorization Framework(OAuth 2.0)の実装 - パート2 作成者:Daniel Kutac(InterSystems セールスエンジニア) 注意: _使用されている URL に戸惑っている方のために。元の連載記事では、dk-gs2016 と呼ばれるマシンの画面を使用していました。 新しいスクリーンショットは別のマシンから取得されています。 *WIN-U9J96QBJSAG という URL は dk-gs2016*_ であると見なしても構いません。 #OAuth2 #セキュリティ #アクセス制御 #認証 #Caché #Ensemble #InterSystems IRIS 0 0 0 357
記事 Mihoko Iijima · 2021年3月9日 1m read ダイナミックオブジェクトの JSON 変換で MAXSTRING エラーが出る場合の対処方法 これは 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":["あ","い","う","え"]} 詳細はドキュメントもご参照下さい。 #JSON #ObjectScript #オブジェクトデータモデル #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 1 3 0 357
記事 Hiroshi Sato · 2021年3月3日 2m read チーム開発を行う際に必要なソース管理の仕組みについて これは InterSystems FAQ サイトの記事です。 InterSystems Data Platform自身には、ソース管理を行う機能はありません。 2016.2以降のバージョンをご使用の場合、統合開発環境として VSCode をご利用いただくことで、VSCode でご利用いただけるソース管理機能をご使用いただけます。 VSCode で ObjectScriptの操作を行うためには、専用エクステンションのインストールが必要です。 使用方法については、コミュニティの記事「VSCode を使ってみよう!」をご参照ください。 また、「VSCodeでのソースコード管理について」についても併せてご参照ください。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 353
記事 Mihoko Iijima · 2020年7月6日 18m read %InstallerでInterSystems Cachéにアプリケーションをデプロイする InterSystemsのテクノロジースタックを使用して独自のアプリを開発し、顧客側で複数のデプロイを実行したいとします。 開発プロセスでは、クラスをインポートするだけでなく、必要に応じて環境を微調整する必要があるため、アプリケーションの詳細なインストールガイドを作成しました。この特定のタスクに対処するために、インターシステムズは、%Installer(Caché/Ensemble)という特別なツールを作成しました 。 続きを読んでその使用方法を学んでください。 %Installer このツールを使用すると、インストール手順ではなく、目的のCaché構成を記述するインストールマニフェストを定義できます。作成したい Caché 構成を記述します。必要な内容を記述するだけで、環境を変更するために必要なコードが自動的に生成されます。したがって、マニフェストのみを配布する必要がありますが、インストール・コードはすべてコンパイル時に特定の Caché サーバ用に生成されます。 #システム管理 #ツール #デプロイ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 350
記事 Megumi Kakechi · 2023年3月19日 2m read VS Codeで設定可能な項目一覧と設定方法について Visual Studio Code 用のエクステンション(拡張機能)には、その動作を構成するための多くの設定が用意されています。 設定可能な項目一覧は、こちらの VS Codeドキュメント でご紹介しています(英語のみ)。 今回は、これらの設定の中で「コンパイルフラグを変更したい場合」の例で、設定の変更方法をご案内します。※コンパイルフラグの詳細については こちらの記事 をご覧ください。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health #VSCode 0 0 0 348
記事 Hiroshi Sato · 2021年10月14日 2m read 文字コードを変換するときに利用できる変換テーブル名を取得する これはInterSystems FAQ サイトの記事です。文字コードの変換に利用できる変換テーブル名は、以下のシステム関数で取得できます。 Write $$GetIONames^%SYS.NLS() 現在のロケールにおいて各デバイス(ファイル、ターミナル等)のデフォルトの変換テーブル名を取得するには、%SYS.NLS.Table クラスを使用します。 確認方法は以下の通りです。 (1) システムデフォルト設定を取得するため、%SYS.NLS.Table のインスタンスを生成します。(引数に、"System" を指定します。) set obj=##class(%SYS.NLS.Table).%New("System") (2) GetIOTable() メソッドを使用して、確認したいデバイスの現在の変換テーブル名を取得します。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 345
記事 Hiroshi Sato · 2021年9月17日 2m read スタジオ、ターミナル、管理ポータルのライセンス消費ユーザをまとめる方法 これは InterSystems FAQ サイトの記事です。※ IRIS Data Platformのサーバーライセンス(プロセッサーコア単位の課金)では以下の内容は適用されませんので、ご注意お願いします。 2012.1以降のバージョンより、ライセンス管理が厳格化されたために、管理ポータルでもライセンスを消費するようになりました。 デフォルトでは、管理ポータルは独立したID(CSPセッション)単位でライセンスを消費するために同一ユーザが複数ライセンスを消費するようになります。 スタジオ、ターミナル、管理ポータル全ての消費ライセンスをに同一ユーザにまとめる方法は以下になります。 (1) スタジオ、ターミナル、管理ポータルに共通ユーザでログイン 管理ポータル: [システム管理] > [セキュリティ] > [サービス] 以下3つを「パスワード」認証のみに変更 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 1 344
記事 Tomoko Furuzono · 2020年11月24日 1m read 管理ポータルのライセンス使用量のページに表示される値の意味 これは、InterSystems FAQサイトの記事です。 (a) 現在使用中のライセンス数:現時点のライセンスユニット使用数です。 (b) 最大ライセンス使用:インスタンスが起動した後、現在に至るまでで最もライセンス使用の大きかった時点の "現在使用中のライセンス数"です。 (c) 許可されたライセンス数(Cache.Key/iris.keyの値):該当システムで許可されている最大ライセンスユニット数です。 (d) 現在の接続:現時点のクライアントからの接続数です。 (e) 最大接続:インスタンスが起動した後、現在に至るまでで最も接続数の大きかった時点の"現在の接続"です。 #システム管理 #管理ポータル #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 344
記事 Megumi Kakechi · 2021年2月15日 7m read データベースキャッシュおよびルーチンキャッシュの最適値の設定方法 これは InterSystems FAQ サイトの記事です。 データベースキャッシュおよびルーチンキャッシュをモニターし、最適値を調べる方法をご紹介します。 (1) データベースキャッシュ 現状の設定値で問題ないかは、^GLOSTAT ユーティリティ のCache Efficency値(キャッシュ効率)でモニターします。 Cache Efficiency 値は大きければ大きいほど良いですが、目安として100 以上であれば、設定サイズは問題ありません。 実行例) #システム管理 #パフォーマンス #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 342
記事 Mihoko Iijima · 2020年11月10日 4m read 大量データのロードを高速化する方法 これはInterSystems FAQ サイトの記事です。 インデックスが複数定義されているクラス/テーブルへ csv 形式等のシーケンシャルファイルから大量データをデータベースに登録する際、推奨される登録方法として、データ登録時インデックスを生成させず、登録完了後に一括でインデックスを生成する 方法があります。 この方法は、新規に大量のレコードを一括登録する際に最も有効な手段となります。 <メモ>大量のデータを追加登録する際には、既存のデータ量と新規データ量のバランスにより、この手法が有効でないケースもあります。その場合は、インデックスの再構築を範囲指定で行うこともできます。 説明に使用するクラス定義例は以下の通りです。 #SQL #インデックス付け #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 342
記事 Hiroshi Sato · 2021年7月27日 4m read スーパーサーバやTelnetポートでSSLを有効にする際のクライアントの設定 これは InterSystems FAQ サイトの記事です。 スーパーサーバでSSL/TLS接続を有効にする場合、クライアントアプリケーションは、使用するプロトコル、アクセスする証明書などを知るためにSSL設定が必要となります。 これらは下記のようにiniファイルを作成・編集することで設定可能です。 ==============================設定ファイルの場所============================== デフォルトでは、SSL設定ファイルはSSLdefs.iniと呼ばれ、32ビットの共通プログラムファイルのディレクトリ下の InterSystems\IRIS(またはInterSystems\Cache)ディレクトリに置く必要があります。 #システム管理 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 335
記事 Mihoko Iijima · 2021年9月14日 1m read 管理ポータルから任意のSQL実行結果をCSVファイルに出力する方法 これは InterSystems FAQ サイトの記事です。 管理ポータルの SQL 画面(管理ポータル > システムエクスプローラ > SQL)で、任意の SQL を実行した後、結果の行数などが表示されいる行の右端にある「印刷」のリンクから、CSVファイル出力を選択できます。 「クエリ印刷」画面で「ファイルにエクスポート」をチェックすると「ファイル形式」の欄が表示されます。 形式に「CSV」を指定し、出力ファイル名を指定したあと「エクスポート」ボタンをクリックすると出力できます。 注意:古いバージョンでは正しくCSV出力が行えない場合もあります。新しいバージョンをぜひご利用ください。 #SQL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 332
記事 Megumi Kakechi · 2022年12月1日 5m read 複数インスタンスでライセンスを共有する場合に必要な設定 これは InterSystems FAQ サイトの記事です。 複数インスタンスでライセンスを共有する場合、ライセンスを統合管理するライセンスサーバの設定が必要です。 1. ライセンスサーバの構成 1) ライセンスキーの配置 ライセンスキー(IRIS.key/cache.key)は、すべての インスタンスの <インストールディレクトリ>/mgr に配置してください。 ただし、IRIS 2021.1 以降のバージョンをお使いの場合は KeyDirectory を指定することで全てのインスタンスへのライセンスキーの配置は必要なくなります。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 331
記事 Mihoko Iijima · 2022年3月29日 3m read SSL/TLS を使用しているメールサーバへメールを送信するコードサンプルご紹介 これは、InterSystems FAQサイトの記事です。 メール送付のコードを記述する前に、管理ポータルで SSL/TLS 構成を作成します。 管理ポータル > システム管理 > セキュリティ > SSL/TLS 構成 メール送付までの流れは以下の通りです。 #ObjectScript #SSL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 327
記事 Tomoko Furuzono · 2022年3月1日 2m read オブジェクトのプロパティやメソッドに動的にアクセスする方法 これは、InterSystems FAQサイトの記事です。 オブジェクトに対する一般的な処理をサポートする各種関数を提供しています。詳細は以下ドキュメントをご参照ください。オブジェクトへの動的アクセス【IRIS】オブジェクトへの動的アクセス サンプルクラス(Sample.Person)を使用して、利用例をご紹介します。 #ObjectScript #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 327
記事 Megumi Kakechi · 2022年7月3日 2m read $ZF(-100)でOSコマンド実行した際に <NOTOPEN> エラー または -1 が返る理由 これは InterSystems FAQ サイトの記事です。 バージョン2015.2以降から、Windows上のインストール環境では、サービス・アカウントを 「Windowsコントロールパネル > 管理ツール > サービス > InterSystems IRIS/Cache Controller for XX」の「ローカル・システムアカウント」から Windows の任意の管理者アカウントに変更した場合に <NOTOPEN> エラー または -1 が返ります。 この状況を回復するためには、以下2つの設定をする必要があります。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 321
記事 Hiroshi Sato · 2020年9月28日 1m read ルーチン一覧をプログラミングで取得する方法 これはInterSystems FAQ サイトの記事です。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 314
記事 Hiroshi Sato · 2020年12月8日 1m read SQLでユニークな番号を自動付番する方法 これはInterSystems FAQ サイトの記事です。 連番を生成する関数($INCREMENT)を使用してユニークな番号を自動付番することができます。 SQLのSELECT文で使用する場合には OracleのSequence相当の機能を実装したクラスを利用する方法があります。 サンプルを以下のGitHubリポジトリより取得することができます。 OracleのSequence機能を実装するサンプル #SQL #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 311
記事 Mihoko Iijima · 2021年7月13日 1m read 管理ポータルにログインできない場合の確認項目 これは InterSystems FAQ サイトの記事です。 管理ポータル接続時に指定しているWeb サーバポートが正しい番号を指定しているかご確認ください。 Windows にクライアントツールのインストールを行っている場合は、ランチャーに登録している接続サーバの設定に問題がある場合が考えられます。 ランチャー > 優先接続サーバ > 追加/編集 で、接続先の Webサーバポートが正しく設定されているかご確認ください。 #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 307
記事 Mihoko Iijima · 2021年1月29日 4m read コマンドでジャーナルファイルにある特定のグローバル変数を検索する方法 これは InterSystems FAQ サイトの記事です。 #グローバル #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 304
記事 Mihoko Iijima · 2020年10月25日 2m read %Net.HttpRequest クラスを使用して https のアクセスでエラーが発生したときに確認したいこと これはInterSystems FAQ サイトの記事です。 %Net.HttpRequest クラスの SSLConfiguration プロパティに SSL/TLS 構成の「クライアント」構成名が指定されているかご確認ください。 %Net.HttpRequest クラスを使用して、https の url にアクセスするためには、以下のドキュメントに記載されている SSL/TLS 構成 の「クライアント」構成を作成して指定した名前を SSLConfiguration プロパティに指定する必要があります。 SSL/TLS構成のクライアント構成方法 #SSL #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 301
記事 Megumi Kakechi · 2021年4月9日 2m read 使用中のデータベースキャッシュ(グローバルバッファ)のサイズを知る方法 これは InterSystems FAQ サイトの記事です。 グローバル変数毎のデータベースキャッシュ使用量を確認するツール(^GLOBUFFユーティリティ)が用意されています。 %SYSネームスペースにて、ユーティリティを直接実行する方法と、プログラムで実行する方法があります。 ユーティリティを直接実行する方法は以下のようになります。 #ObjectScript #ツール #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 301
記事 Megumi Kakechi · 2022年9月21日 2m read SQL ゲートウェイを使用した外部データベースへのアクセス方法について SQL ゲートウェイ接続を使用した、外部データベースへのアクセス方法についてご説明します。 手順は以下になります。 1. 外部ソースへの SQL ゲートウェイ接続の作成を行います ※こちらの例では、IRISの別インスタンスへの接続を試しています。 ※ODBCを使用される場合は、事前にシステムDSN(64bit)の準備が必要です。管理ポータルより [システム管理] > [構成] > [接続性] > [SQLゲートウェイ接続] の 新規接続作成 ボタンをクリックします。 接続の種類を選択し、必要項目を設定します。以下のサンプルは、ODBC接続(別IRISインスタンスのDSN設定)を行っています。 #JDBC #ODBC #SQL #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 295
記事 Hiroshi Sato · 2021年12月20日 1m read <EXTERNAL INTERRUPT>エラーの原因と対処法 これは、InterSystems FAQサイトの記事です。 CSPアプリケーションでは、リクエスト処理時間がサーバー応答タイムアウト値(CSPゲートウェイ管理ページで設定、既定値60 sec)を経過すると、CSPゲートウェイからクライアントブラウザにタイムアウトを通知し、処理を続けているデータプラットフォームサーバプロセスにエラーを発生させます。 エラーが発生している処理を確認して頂き、処理遅延の改善、例えばタイムアウトが発生しないように処理内容を見直して応答時間を短くすることや必要に応じてサーバ応答タイムアウト値を大きくすることで対処可能です。 #CSP #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 2 0 0 289
記事 Hiroshi Sato · 2022年3月27日 2m read .Net Gateway(オブジェクトゲートウェイ)で外部DLLを使用する方法 これはInterSystems FAQ サイトの記事です。 まず予め Visual Studioを使用して、呼び出したい内容のクラスライブラリを作成します。 そのプロジェクトをコンパイルし、DLLを作成します。 管理ポータルでオブジェクトゲートウェイを作成します。 システム管理 > 構成 > 接続性 > オブジェクトゲートウェイ ゲートウェイ名 : testGateway サーバ名 / IPアドレス : 127.0.0.1 ポート : 55000 (後はデフォルト) testGateway を開始します。 ※管理ポータルから、もしくはコマンドから開始できます。 do ##class(%Net.Remote.Service).StartGateway(gateway.Name) #ヒントとコツ #相互運用性 #Caché #Ensemble 0 0 0 289
記事 Mihoko Iijima · 2021年6月9日 8m read 管理ポータルのメモリ関連設定項目について これは InterSystems FAQ サイトの記事です。 管理ポータルで設定できるメモリ関連の項目は、以下の通りです。(項目としては他にもありますが、ここでは、ほとんど設定する必要のないものについては記載していません。) 管理ポータル [ホーム] > [システム管理] > [構成] > [システム構成] > [メモリと開始設定] 古いバージョンのメニューは以下の通りです。 【バージョン5.1~2010.x】システム管理ポータル [ホーム] > [構成] > [メモリと開始設定] の設定内容* データベースキャッシュ用メモリ* ルーチンキャッシュ用メモリ 【バージョン2011.1.0~】管理ポータル [ホーム] > [システム管理] > [構成] > [追加の設定] > [メモリ詳細設定] #システム管理 #ヒントとコツ #Caché #Ensemble #HealthShare #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 289