検索

クリアフィルター
記事
Seisuke Nakahashi · 2021年4月20日

VSCode を使ってみよう (2021年4月20日版)

みなさん、こんにちは! Visual Studio Code 用のエクステンション、 InterSystems Server Manager のバージョン2.0がリリースされました。 このバージョンでは、弊社製品に同梱されているコードエディタ Studio と同じように、「サーバ上にあるクラス定義やルーチンを、サーバに接続して、直接編集&コンパイル」することが簡単にできます。この記事では、「Visual Studio Code を、Studio と同じように、気軽に使う」ための設定をご紹介いたします。 1. ObjectScript用エクステンションのインストール まずは Visual Studio Code に、InterSystems IRIS (Caché) に接続するためのエクステンションを入れましょう。この記事を参考に、3つのエクステンションを導入します。 InterSystems ObjectScript InterSystems Language Server InterSystems Server Manager 2. 接続するサーバの登録 左のサイドバーに InterSystems Tools という道具箱のアイコンがインストールされます。ここで接続先のサーバ情報を定義します。All Servers にカーソルをあわせ + をクリックし、新規接続サーバを登録してください。 サーバ情報として順に、「接続名、IPアドレス、WEBサーバポート番号、接続ユーザ名、スキーマ (http or https) 」を入力していきます。 これでサーバ情報がツリーに登録されました!クリックしてサーバに接続すると、接続パスワードを聞かれます。パスワードを入力し、右上の鍵ボタンをクリックすると、次回以降のパスワード入力をスキップできます。 接続が完了すると、ネームスペース一覧が見えます。 3. クラス定義やルーチンを編集する 道具箱 (InterSystems Tools) で接続先を定義しましたが、実際の編集は、Visual Studio Code の Explorer ビュー から行います。まず道具箱アイコンから、編集したいネームスペースにカーソルをあわせて、鉛筆マークをクリックしてください。 WORKSPACE上に、以下の画像のように、 接続サーバ名:ネームスペース という名前の論理フォルダが定義されます。ここから、サーバ上のクラス定義やルーチンを直接エディットすることが出来ます。この例のネームスペース NAKA には、まだルーチンもクラスも存在しないので、からっぽです。 (1) ルーチンを新規で作成するには、フォルダ右クリック>New File> 拡張子 mac を入力します。 自由にエディットしてください。Ctrl+S で保存すると自動でコンパイルされます。 (2) クラスを新規で作成するには、フォルダ右クリック>New File> 拡張子 cls を入力します。 InterSystems Language Server エクステンションによって、キーワードも補完されます。ルーチンと同じく、Ctrl+Sでコンパイルされます。 4. 接続を定義したワークスペースを保存しておく 次回以降のために、 File > Save Workspace As... でワークスペースを保存しておきましょう! ワークスペース名.code-workspace というファイルで保存されます。 5. CSPファイルを編集する CSPファイルを編集するには、上記で保存した code-workspaceファイルを、直接編集します。 以下の赤字部分が、CSP編集用の接続定義です。uri は isfs://接続サーバ:ネームスペース/?csp となります。 { "folders": [ { "name": "iris2021:NAKA", "uri": "isfs://iris2021:naka/" }, { "name": "iris2021:NAKA:csp", "uri": "isfs://iris2021:naka/?csp" } ] } これで、サーバ上のCSPファイルを、直接編集することができるようになりました。 6. まとめ 新しくなった InterSystems エクステンションシリーズによって、軽量で快適に動作する Visual Studio Code を、InterSystems IRIS サーバ上のコードエディタとしてお手軽にお使いいただけます。ぜひご活用くださいませ。 Happy Coding!
記事
Hiroshi Sato · 2022年7月11日

外部の Pythonファイル を Embedded Python で呼び出す方法

IRISがc:\InterSystems\IRISにインストールされているとします。(1) a.py を C:\InterSystems\IRIS\lib\python に置きます。 a.py def test(): print('Hello World!') (2) それを IRISのクラスから実行します。 ClassMethod xx() [ Language = python ]{ import a a.test()} USER>do ##class(User.test).xx()Hello World! もし、a.py を別のディレクトリ C:\temp に置きたい場合は、C:\temp\ をPythonのPATHに指定する必要があります。 以下の方法があります。 (A) 管理ポータル>システム管理>構成>追加設定>メモリ詳細>PythonPath の値に C:\tempを設定し、a.pyをそのディレクトリに置き、 IRISを再起動します。 ClassMethod xx() [ Language = python ]{ import a a.test()}

#ビジネスサービス

5 投稿0 フォロワー
記事
Hiroshi Sato · 2021年8月31日

既存のネームスペースで、Interoperability機能を有効にする方法

これは InterSystems FAQ サイトの記事です。 ネームスペースを作成後にInteroperability機能を有効にするには、%EnsembleMgrクラスのEnableNamespaceメソッドを使用します。 do ##class(%EnsembleMgr).EnableNamespace($namespace)
記事
Megumi Kakechi · 2022年7月3日

$ZF(-100)でOSコマンド実行した際に エラー または -1 が返る理由

これは InterSystems FAQ サイトの記事です。 バージョン2015.2以降から、Windows上のインストール環境では、サービス・アカウントを 「Windowsコントロールパネル > 管理ツール > サービス > InterSystems IRIS/Cache Controller for XX」の「ローカル・システムアカウント」から Windows の任意の管理者アカウントに変更した場合に <NOTOPEN> エラー または -1 が返ります。 この状況を回復するためには、以下2つの設定をする必要があります。 1. 「Windowsコントロールパネル > 管理ツール > サービス > InterSystems IRIS/Cache Controller for XX」 のログオン設定を、「ローカルシステムアカウント」に戻す 2. irisinstall/cinstall コマンドを使用してInterSystems IRIS サービス・アカウントを変更する 2 の手順は以下になります。 Windowsコマンドプロンプトを管理者権限で起動し、以下コマンドを使用して変更します。この設定を有効するためには、インスタンスの再起動が必要です。 > cd <インストールディレクトリ>\bin> irisinstall setserviceusername IRIS abc xxx ※ インスタンス名:IRIS、Windowsの管理者ユーザ:abc、パスワード:xxx を指定する例で記載しています※  InterSystems Caché では irisinstall コマンドではなく cinstall コマンドを使用します。 詳細については、以下ドキュメントをご参照ください。 サービスアカウントの変更について【IRIS】サービスアカウントの変更について 以下の関連トピックもご参照ください。 $ZF(-100) で実行したコマンドの出力を取得する方法$ZF(-100)の使用方法ネットワーク共有フォルダ/ネットワークプリンタの参照方法【IRIS】ネットワーク共有フォルダ/ネットワークプリンタの参照方法
お知らせ
Toshihiko Minamoto · 2023年4月18日

2023/04/10 - アラート: ECPクライアントが不安定になる

インターシステムズは、まれに Enterprise Cache Protocol (ECP) クライアントが不安定になることがある不具合を修正しました。 この不具合は、以下の製品およびそれらをベースとしたインターシステムズの製品に存在します。 影響を受けるバージョン: 2022.1.x, 2022.2, 2022.3 InterSystems IRIS® InterSystems IRIS for Health™ HealthShare® Health Connect 影響を受けるバージョン: 2022.2 (ECPを導入しているお客様のみ) InterSystems HealthShare® この問題は、ECPクライアントシステムでのみ発生する可能性があります。この問題が発生すると、プロセスで <SYSTEM> または <DATABASE> エラーが発生することがあります。エラー後、ECPクライアントが不安定になり、場合によってはインスタンスがハングアップすることがあります。データへの影響はなく、ECP データサーバーも影響を受けません。 不安定な状態を解消するには、ECP クライアントインスタンスを再起動する必要があります IRIS、IRIS for Health、またはHealth Connectのインスタンスに影響がある場合、近日中にリリースされるバージョン2023.1または2022.1.3にアップグレードすることで改善できます。HealthShareのインスタンスが影響を受けている場合、改善策を推奨する別の警告文書が間もなくリリースされます。 この不具合の修正は TR1162 として特定され、InterSystems IRIS®、InterSystems IRIS for Health™、および HealthShare® Health Connect の将来のすべてのバージョンと、それらをベースとするインターシステムズ製品に含まれる予定です。 この修正は、アドホック配布でも利用可能です。 このアラートに関するご質問は、ワールドワイド・レスポンス・センターまでご連絡ください。
記事
Hiroshi Sato · 2021年1月27日

JDBC対応状況

これは InterSystems FAQ サイトの記事です。 バージョン2009.1以降で、JDBC 4.0API に対応しています。 詳細は、以下のドキュメントをご参照ください。 JDBCサポートについて
記事
Mihoko Iijima · 2021年7月28日

プラットフォーム別利用状況について

これは InterSystems FAQ サイトの記事です。 プラットフォーム別導入状況(組織ベース)は、以下の通りです。(2020年時点) Windows : 86% Linux : 10% AIX : 4% UNIX : 1%未満 OpenVMS : 1%未満 Oracle Solaris : 1%未満
記事
Mihoko Iijima · 2022年10月27日

コンテナ版IRISのコンテナにrootユーザでログインする方法

これは InterSystems FAQ サイトの記事です。 コンテナログイン時、-u オプションで root を指定することでログインできます。 docker exec -it -u root コンテナ名 bash

#TrakCare

2 投稿0 フォロワー

#認証

2 投稿0 フォロワー

#ベストプラクティス

43 投稿3 フォロワー
記事
Megumi Kakechi · 2022年5月6日

なぜフラグメントが発生しにくいのか

これは、InterSystems FAQサイトの記事です。InterSystems製品では、永続データは後で高速にランダムアクセスできるように、ある一定の規則に沿ってキー順にソートされて格納されます。 新しいノードが追加された場合、ノードが削除された場合、データの長さが変更された場合など、データの構造変化が起こる度に、その並び順を維持できるようまた無駄な領域が発生しないように動的なデータの配置変えを実施します。 従って、常にデータはきれいに整理された状態で格納されるため、無駄な空き領域が発生しません。 これらの並べ替えの作業は、書き換えのコストのかかる処理ですが、InterSystems製品では、これらの処理はなるべくメモリ(キャッシュ)上で実行し、ディスクI/Oを軽減することにより、性能の劣化を抑えています。
記事
Tomoko Furuzono · 2021年11月28日

データサイズを調べる方法

これは、InterSystems FAQサイトの記事です。InterSystems製品のデータ(テーブルの行データ、オブジェクトのインスタンスデータ)は、グローバル変数に格納されています。各グローバルのデータサイズは、管理ポータル>システム>構成>ローカルデータベース>グローバルのページから参照したいグローバルのプロパティをクリックし、表示されるグローバル属性ページ上のサイズ計算ボタンをクリックすることで個別のグローバルのサイズを取得することができます。ネームスペース上のグローバルのデータサイズをまとめて表示するには、ターミナル上で^%GSIZEユーティリティを起動することで取得することができます。実行方法は以下の通りです。 USER>do ^%GSIZE Directory name: c:\intersystems\ensemble\mgr\user\ =>All Globals? No => Yes^DeepSee.ActiveTasks contains no dataInclude it anyway? No => YInclude any other similar globals without asking again? Yes =>^DeepSee.ActiveTasks contains no dataInclude it anyway? No => YesInclude any other similar globals without asking again? Yes => Yes^DeepSee.FeatureStats contains no data -- included^DeepSee.Session contains no data -- included^oddBIND contains no data -- included^oddMETA contains no data -- included^oddStudioDocument contains no data -- included^oddStudioMenu contains no data -- included^rINCSAVE contains no data -- included91 items selected from91 available globalsShow details?? No => YesDevice:Right margin: 80 =>directory: c:\intersystems\ensemble\mgr\user\ Page: 1 GLOBAL SIZE 26 Jun 2017 6:56 PM Global Blocks Bytes Used Packing Contig. -------- -------- --------------- ------- ------- CacheMsg 1 3,812 47 % 0 DeepSee.ActiveTasks 1 24 0 % 0 DeepSee.AgentLog 1 6,008 74 % 0 DeepSee.Agents 1 688 8 % 0 DeepSee.BucketList 1 76 1 % 0 DeepSee.Cache.Axis 25 142,616 70 % 14 DeepSee.Cache.Listing 15 87,728 72 % 11 DeepSee.Cache.Results 31 183,200 72 % 17 DeepSee.Cubes 3 17,936 73 % 0 to continue or '^' to STOP:
記事
Mihoko Iijima · 2020年7月20日

【はじめてのInterSystems IRIS】セルフラーニングビデオ:アクセス編:IRIS で作成する REST サーバの仕組み

IRIS で作成する REST サーバの仕組みを解説します。 このビデオには、以下の関連ビデオがあります。 IRISの基本操作についてのビデオ(索引ページ) InterSystems開発者コミュニティ biginnerタグ一覧 もくじ 0:55~ 今回の説明内容解説と関連ビデオについて IRISでのJSON操作について 手動によるRESTディスパッチクラスの作成 APIファーストによるRESTディスパッチクラスの作成 3:00~ RESTとは? 3:52~ 動作の仕組み 6:23~ RESTディスパッチクラスとは 8:04~ RESTディスパッチクラスの実装方法 8:34~ RESTディスパッチクラス:全て手動で作成する方法 概要 9:30~ RESTディスパッチクラス:APIファーストで作成する方法 概要 11:12~ 共通:ベースURLの設定(管理ポータルでの設定) 11:37~最後まで 確認できたこと ※YouTubeでご覧いただくと、もくじの秒数にジャンプできます。