問題タブ [objectscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
275 参照

intersystems-cache - 「csp intersystem cache object」で現在の URL を取得する

cspキャッシュ言語で現在のURLを取得できるので? mvを使用せずに。

また、現在のドメインを取得したい、つまり、この URL www.midominio.hn / assets / hola.csp がある場合

www.midominio.hn を入手

0 投票する
1 に答える
590 参照

sql - InterSystems キャッシュ - 結合テーブルに挿入する方法は?

次の objectscript は、次の SQL テーブルを作成します。

オブジェクトスクリプト クラス

Parent_Children テーブルと列:

親がコマンドによって objectscript に保存され%Save()、親の children プロパティに要素がある場合、この結合テーブルに行が自動的に作成されます。列には、列に行の主キーがあり、列に子行の主キーがIDあるような値が"15||1",あります。 ParentParentChildren

SQL で、このテーブルの挿入ステートメントを作成するにはどうすればよいですか? ID列の値の作り方がわかりません。

0 投票する
2 に答える
527 参照

shell - Unix サーバ上の Intersystems Caché で $SYSTEM.SQL.Shell() を使用して、%SYS.ProcessQuery からの結果のみを返します。

バックグラウンド

やあ、

Intersystems Caché データベースを使用する Unix ベースのアプリケーションを使用しています。私は Caché にあまり詳しくないので、入力できることを最近まで知りませんでした...

...データベースに入ります。ここから、%FREECNTレポート、^DATABASEルーチン (データベースのサイズやその他のプロパティを表示/変更するため) $SYSTEM.SQL.Shell()、.

. _ $SYSTEM.SQL.Shell()_%SYS.ProcessQuery

クエリを正常に実行できます-例:

上記のクエリは、次の形式で結果を返します。

質問

上記の背景を考慮して、「SQL コマンド ライン シェル」のイントロ テキスト、列名、または行数フッターを使用せずに結果のみを返す方法を探しています。上記のように、Unix で .ksh スクリプトを記述して Caché に接続し、クエリを実行すると、含めたくない次のテキストと共に結果が返されます。

追加情報

awkUnix コマンドを使用して、 andを使用してテキストの一部を除外できることはsedわかっていますが、組み込みのもう少し簡単でクリーンな方法を探しています。このLINKsilentの例のように、またはno_column_namesフラグを持つものかもしれません。

私の最終的なゲームは、クエリから情報を取得するスクリプトを実行し、その情報を使用して、特定のしきい値が満たされたときにデータベースに変更を加えることです。最終的には、定期的にスクリプトを実行するようにスケジュールを設定したいので、データベースにバインドする別のクライアント アプリを作成するのではなく、すべての処理をサーバー上で実行する必要があります。

0 投票する
2 に答える
289 参照

syntax - プロシージャへの参照によってグローバルまたはプロセス プライベート グローバルを渡す方法

参照配列パラメータを受け取ることを期待する Caché ObjectScript プロシージャがあるとします。

ドット構文で参照することにより、通常の配列でそのプロシージャを呼び出すことができます。

しかし、グローバル参照でそれを実行しようとすると、ドット構文で構文エラーが発生します。

ObjectScript プロシージャへの参照によってグローバル配列を渡す正しい方法は何ですか? また、プロセス プライベート グローバルを渡すことができるようにしたい (^||Array規約)

0 投票する
2 に答える
454 参照

intersystems-cache - Caché ObjectScript の Try-Finally と同等

一般的な Try-Finally 例外クリーンアップ パターンと同等のセマンティクスを探しています。

コードが成功するか失敗するかに関係なく、クリーンアップ手順を実行する必要がありますが、クリーンアップ コードがエラーの報告と処理を妨げてはならないという考えです。まだ問題が発生しており、例外は引き続き伝播するはずです。

私はこのようなものを書きたいと思います:

ただし、ObjectScript の TRY...CATCH 構文は、FINALLY 句をサポートしていません。

特に、finally ブロックによって通常行われるこれらの両方が当てはまることが重要です。

  • クリーンアップ コードは、エラーが発生した場合とすべてが正常に実行された場合の両方で、実行が呼び出し元に返される前に常に実行されます。
  • エラーが発生した場合、コードの場所、コンテキスト、およびスタックを含む元のエラーが、呼び出しスタックを元の呼び出し元に伝達されます。クリーンアップ コードがデバッグを妨げないようにする必要があります。

通常の TRY...CATCH ブロックを単純に使用することはできません。なぜなら、CATCH は例外を食べて、正しいエラー コンテキストがチェーンに渡されないようにするからです。エラーコンテキストを台無しにすることなく、元の例外を再スローする方法があるのではないでしょうか?

0 投票する
2 に答える
1037 参照

intersystems-cache - Intersystems caché - プログラムで新しいクラスを作成する

名前空間に新しいクラスを作成してコンパイルする ObjectScript メソッドを作成することはできますか? つまり、プログラムで新しいクラスを作成して保存します。その場合、後で ObjectScript を使用してこのクラスを編集 (および再コンパイル) できますか?

理由: 文字列変数で定義されたクラス構造があり、この文字列に従って名前空間に新しいクラスを追加する必要があります。

0 投票する
1 に答える
276 参照

intersystems-cache - Intersystems キャッシュ - SQL ストレージ定義

%Dictionary.StorageSQLMapDefinition クラスの Name プロパティを設定するには? 私はこのコードを持っています:

そして、storMaps.Name の設定方法がわかりません。Name プロパティのデータ型。ドキュメントによると、%Dictionary.SQLIdentifier です。しかし、このプロパティを設定する方法がわかりません。エラーが発生します:

SQL マップ タイプが無効です