記事 Hiroshi Sato · 2022年8月8日 1m read コンソールログにメッセージを書く方法 これは InterSystems FAQ サイトの記事です。 コンソールログに任意のメッセージを書き込む方法として%SYS.System クラスの WriteToConsoleLog メソッドを使用することができます。 以下に例を示します。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 139
記事 Hiroshi Sato · 2022年8月1日 1m read ユーザーがブラウザの閉じるボタン(Xボタン)を押してCSPページを終了した時にサーバで検知する方法 これは InterSystems FAQ サイトの記事です。 残念ながら良い方法はありません。 もし処理の流れとして突然処理を中断されると不都合がある場合には、OnunloadHandler内でalertメソッドにより、Xボタンを押さないように注意を促すようなメッセージを出す方法が考えられます。 一般的には、ユーザ都合で処理中断されてもサーバ側処理内でデータの整合性等に不都合が発生しない様にアプリケーションの実装を行う必要があります。 ページのアンロード時に呼び出されるOnunloadHandler内でサーバ・メソッドを呼び出す方法は様々な問題があるため、使用することはお勧めしません。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 164
記事 Hiroshi Sato · 2022年7月25日 1m read InterSystems ObjectScriptの型キャストサポートについて これは InterSystems FAQ サイトの記事です。 ObjectScript言語は、Java言語等がサポートしている型キャストをサポートしていません。 ただし、メソッドのキャストはサポートしています。 詳細は以下ドキュメントページをご参照ください。 メソッドのキャスト【IRIS】メソッドのキャスト #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 187
記事 Hiroshi Sato · 2022年7月25日 1m read ミラーリングでデータベース以外のファイルを同期する方法 これは InterSystems FAQ サイトの記事です。 ミラーリングが同期の対象とするのはデータベースファイルのみです。 アプリケーションに必要なその他のファイル(CSPファイル、画像ファイル、ドキュメントファイルなど)をミラーセットを構成する二台のサーバー間で同期させるには、 NASなどを導入して共有ディスク上にそれらのファイルを配置する方法 または同期ソフトを導入して二台のサーバー間のファイルを同期させる方法 などの方法が考えられます。 また、2の方法ではWindows上ではRoboCopy、Linuxの場合にはrsyncという同期ソフトを使った実例があります。 #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 162
記事 Hiroshi Sato · 2022年7月20日 2m read IRISの開始/停止の状態をファイルに出力する方法 irisコマンドのqlistまたはlistを使用して出力先をファイルにして出力することができます。 qlistの結果は、^を区切り文字としたテキスト形式で出力されます。 ^で区切られた3番目の部分に稼働状況のデータがあります。 $ iris qlist IRIS > iris.log $ cat iris.log IRIS^/Applications/iris^2022.1.0.164.0^running, since Thu Apr 7 16:37:03 2022^iris.cpf^1972^52773^0^alert^IRIS^^^/Applications/iris listの場合には、先頭にstatus:と表示された行に稼働状況のデータがあります。 Unix系のOSの場合 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 136
記事 Hiroshi Sato · 2022年7月20日 2m read タスクの起動でエラーが発生した時にメールで通知する方法 タスク成功時・失敗時、それぞれ通知メールを送信することができます。 そのためには事前にターミナルからTASKMGRルーチン を実行して、メールサーバを登録する必要があります。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 606
記事 Hiroshi Sato · 2022年7月11日 2m read ルーチンやクラスメソッドをWindowsのコマンドプロンプトから呼び出す方法 iris コマンドを使用することで実行できます。iris コマンド(iris.exe)は、<インストールディレクトリ>\bin にインストールされています。 書式: iris run インスタンス名 tag^routine([parameter-list]) ネームスペース名 iris run インスタンス名 ##CLASS(package.class).method([parameter-list]) ネームスペース名 インスタンス名は、管理ポータル(システム管理ポータル)の右上にある [インスタンス:] に表示されている文字列です。 #システム管理 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 568
記事 Hiroshi Sato · 2022年7月11日 3m read InterSystems IRISをインストールする場合の最低システム要件 CPU:サポート対象OSが問題なく動作するもの以下のページをご参考ください。 サポート対象プラットフォーム ディスク容量:アプリケーションの要件を除外した場合、 IRISをインストールするためには、最低1.5GB以上の空き容量が必要です。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 584
記事 Hiroshi Sato · 2022年7月11日 1m read 外部の Pythonファイル を Embedded Python で呼び出す方法 IRISがc:\InterSystems\IRISにインストールされているとします。(1) a.py を C:\InterSystems\IRIS\lib\python に置きます。 a.py def test(): print('Hello World!') (2) それを IRISのクラスから実行します。 #Embedded Python #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 525
記事 Hiroshi Sato · 2022年6月1日 3m read ODBCを利用してVisM.OCX(Cache Direct)をエミュレーションする Cachéでは、今後の新しいOSのサポート、例えばWindows 11やWindows 2022のサポートは行われないことになりました。 いよいよ新しいサーバハードウェアを導入するとCachéが使えなくなる可能性が高くなってきました。 皆さんIRISへの移行をお早目にご検討ください。 IRISへの移行の際に障害となるものの1つがVisM.OCXを利用したアプリケーションの移行です。 IRISでもこの機能は制限付きで利用可能です。 しかし、そのためには少々面倒な手続きが必要です。 (この手続きについてはインターシステムズにお問い合わせください) しかもこの手続きも暫定処置で将来なくなる可能性もゼロではありません。 ところでなんでそんな面倒くさい手続きが必要なのと感じた人もいると思います。 その理由は、 VisM.OCXがマイクロソフトの非常に古い技術を利用していて、開発元のマイクロソフトもそれを全くサポートしていませんし、セキュリティ脆弱性への対応等も全く行われていません。 そんな技術なんで、インターシステムズも技術サポートするのが困難です。 #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 376
記事 Hiroshi Sato · 2022年3月27日 2m read .Net Gateway(オブジェクトゲートウェイ)で外部DLLを使用する方法 これはInterSystems FAQ サイトの記事です。 まず予め Visual Studioを使用して、呼び出したい内容のクラスライブラリを作成します。 そのプロジェクトをコンパイルし、DLLを作成します。 管理ポータルでオブジェクトゲートウェイを作成します。 システム管理 > 構成 > 接続性 > オブジェクトゲートウェイ ゲートウェイ名 : testGateway サーバ名 / IPアドレス : 127.0.0.1 ポート : 55000 (後はデフォルト) testGateway を開始します。 ※管理ポータルから、もしくはコマンドから開始できます。 #ヒントとコツ #相互運用性 #Caché #Ensemble 0 0 0 382
記事 Hiroshi Sato · 2022年3月23日 2m read 現在使用しているリレーショナルデータベースで壁に突き当たっています。インターシステムズのテクノロジを利用することはできますか。 もし現在ご使用のデータベース技術で壁に突き当たっていると感じておられるならば、是非InterSystems IRIS Data Platformへの移行をご検討ください。 (以下IRIS) IRISに移行するに際して、現行のプログラム資産を全て書き換える必要はありません。 IRISに移行する際には、以下の手順で進めることを推奨しております。 アプリケーションコードをそのまま流用し、動作させるために、現在のデータベースからIRISへの移行を行います。 既存のRDBMSのデータ定義(DDL文で記述されたもの)をIRISに取り込むことで、リレーショナルとオブジェクトの両モデルからアクセスが可能となるため、必要に応じてオブジェクト・アクセスが妥当である処理に対しては、アプリケーションプログラムの修正など、対応策が選択できます。 さらにXMLやJSONなどのドキュメント形式のデータの取り扱いも容易ですので、RestFullなアプリケーション構築にも向いています。 #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 194
記事 Hiroshi Sato · 2022年3月23日 2m read 現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか? 質問 現在使っているリレーショナルデータベースからInterSystems IRIS Data Platformに移行することは可能ですか? 答え InterSystems IRIS Data Platform(以下IRISと表記)は、SQLをサポートしていますので、多くの場合リレーショナルデータベースで構築されたアプリケーションは、大部分のコードを変更することなくIRISに移行することができます。 ただしSQLの各実装毎にSQL標準を拡張した仕様等があり、それにIRISが全て対応していませんので、コードの書き換えが必要なケースもあります。 また各実装が独自に用意した標準でない通信系API等にも対応していませんので、その場合にはJDBC、ODBCなどの標準的な通信APIに置き換える必要があり、かなり書き換えが必要になります。(使用されているSQL文等はそのまま流用可能な場合が多いです。) さらにそのままコードを移行できるケースであっても動作保証はできませんので、必ず動作確認のためのテスト作業は必要になります。 #SQL #ヒントとコツ #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 121
記事 Hiroshi Sato · 2022年3月23日 1m read ObjectScript言語でイメージファイルをWEBサーバからダウンロードする方法 これは InterSystems FAQ サイトの記事です。 以下のコードは、https://www.intersystems.com/assets/intersystems-logo.png をダウンロードし、c:\temp\test.pngとしてファイルを保存する例になります。 以下のコードを動作させるためには、SSLTESTという名前のSSL定義を作成しておく必要があります。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 171
記事 Hiroshi Sato · 2021年12月28日 2m read コンパイルフラグについて これは InterSystems FAQ サイトの記事です。 コンパイル時のフラグや修飾子の記号と意味については、以下ドキュメントをご参照ください。 コンパイルフラグについて【IRIS】 コンパイルフラグについて なお、開発環境のスタジオやVisual Studio Codeでは、開発環境の設定画面でフラグを変更できます。 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 756
記事 Hiroshi Sato · 2021年12月28日 1m read MS Accessからのクエリで取得されるデータ項目値が全て"#Deleted"と表示される場合の対処方法 これは、InterSystems FAQサイトの記事です。 データ項目の値が”#Deleted"と表示される場合、MS Accessの設定でこの問題を回避することができます(MS Access2016以降)。 MS Accessのオプションより、「大きい数値(BigInt)データ型をサポート」にチェックを入れます。 設定後、リンクテーブルを一度閉じて、リンクの更新を行います。 #ODBC #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 9.2K
記事 Hiroshi Sato · 2021年12月21日 1m read 監査ログをプログラムで出力(ユーザやイベント指定など)する方法 これは、InterSystems FAQサイトの記事です。 監査ログをプログラミングで出力するために、監査ログの一覧を取得する%SYS.Audit クラスのListクエリを利用することができます。 サンプルコードは以下のようになります。 #セキュリティ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 1 0 0 191
記事 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 409
記事 Hiroshi Sato · 2021年11月29日 2m read イメージファイルをFTPサーバからアップロード/ダウンロードする方法 これは、InterSystems FAQサイトの記事です。 FTPサーバから、アップロード/ダウンロードする方法は以下の通りです。 1. FTPサーバにイメージファイルをアップロードする #ObjectScript #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 0 246
記事 Hiroshi Sato · 2021年11月24日 1m read InterSystems製品開始時に特定の処理を実行する方法 これは InterSystems FAQ サイトの記事です。 InterSystems製品開始時に、OSの実行ファイルやコマンド、InterSystems製品内に作成したプログラムを実行したい場合は SYSTEM^%ZSTART ルーチンに処理を記述します。 (%ZSTARTルーチンは%SYSネームスペースで作成します) SYSTEM^%ZSTART に記述する処理は、事前にあらゆる条件下でうまく動作することを確認してください。 ^%ZSTART ルーチンの記述ミスや、記述は正しくとも起動時にコマンドが応答を返さなかったり処理でエラーが起こった場合、InterSystems製品が起動できなくなることがあります。 詳しくは、以下ドキュメントをご参照ください。 #システム管理 #ヒントとコツ #Caché #Ensemble #InterSystems IRIS #InterSystems IRIS for Health 0 0 1 255