問題タブ [openedge]
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.
linux - ODBC lib 指定されたドライバーをロードできませんでした
ODBC ドライバーをインストールしようとしていますが、壁にぶつかっています。
私のINIファイルは次のとおりです。
odbcinst.ini
odbc.ini
すべての依存関係がlddを介して適切にロードされていることを確認しました。
アップデート
出力: strace isql -v http://pastebin.com/tXFY4vVt
出力: strace isql -3 SUBS2A http://pastebin.com/Yu5e54mR
出力: /tmp/odbctrace.out http://pastebin.com/0kgvNdWv
ありがとう
progress-4gl - Progress-4GL ログファイルへの書き込み
progress-4gl プログラムを実行すると、log-manager を使用してログ ファイルに書き込むことができます。ただし、メッセージステートメントを書き出す場合、メッセージビューをアラートボックスとして使用した場合にのみ表示されます。すなわち:
ログ ファイルには次のように表示されます。
[12/05/10@09:03:21.154-0700] P-11993170 T-000001 1 4GL -- これが表示されます
log-manager に、view-as alert-box を含まないメッセージ ステートメントを強制的に書き出す方法はありますか? 私たちのレガシー コードはどこでもメッセージ ステートメントを使用しており、関連するすべてのライブラリを更新する必要はありません。
progress-4gl - 埋め込み .NET コントロールを使用して openge を進める
プログレス アプリケーションに .NET コントロールを埋め込む方法を教えてください。ありがとう!!
編集:10.2bを使用しています
progress-4gl - openge バージョン 11 を使用して openge バージョン 10 辞書を開く方法は?
バージョン 11 データベース ディクショナリを使用して openge バージョン 10 データベースを開く必要があります。R11 データベース ディクショナリを使用して R10 データベースを開くことはできますか? 私はこれについて何の考えも持っていません。
ありがとう。
include - コンパイラの取得:エラー-インクルードファイルでコンパイルエラーが発生した場合の行
インクルードファイルでエラーが発生したときに、コンパイル中のファイルのエラー行を取得できるかどうかを誰かが知っていますか?
たとえば、あちこちでdef.iを使用するabc.pなどのファイルをコンパイルしています。ある時点で、インクルードの1つでコンパイルエラーが発生するabc.pに変更を加えたため、def.iの123行目でエラーが発生したというメッセージが表示されますが、abcのどの行で発生したかを知りたいです。 pです。つまり、問題のあるインクルードファイルが使用されている行番号です。
「Compiler:Get-File-Name(n)」はdef.iを返し、「Compiler:File-Name」はabc.pを返しますが、「Compiler:Get-Row(n)」と「Compiler:Error- Row "は、def.iの行番号を返します。
何か案は?
progress-4gl - OpenEdge SQLでSELECT ... LIMIT、OFFSETを模倣する方法は?
ほとんどの SQL 実装では、クエリで返されるすべての行の "スライディング ウィンドウ" サブセットを選択できるのが一般的です。これの一般的な使用例はページネーションです。たとえば、各ページに 10 件の結果がある検索ページがあるとします。LIMIT
およびOFFSET
キーワードをサポートする実装の場合、各ページの結果を返すために使用されるクエリは次のようになります: ページ 1 は を使用しSELECT ... LIMIT 10 OFFSET 0
、ページ 2 は を使用しSELECT ... LIMIT 10 OFFSET 10
、ページ 3 は を使用します(は の前に有効になるSELECT ... LIMIT 10 OFFSET 20
ことに注意してください)。OFFSET
LIMIT
とにかく、OpenEdge の SQL エンジンでこの機能を模倣しようとしています。SELECT TOP
基本的に と同等であることはすでにわかっていLIMIT
ますが、 に似たものは見つかりません (まったくOFFSET
同等のものはないと思います)。SQL Server と Oracle にも はありませんが、ネストされた選択を使用して動作を模倣するために使用できる、それぞれおよび と呼ばれる疑似列があります (こちらとこちらを参照)。OFFSET
ROWCOUNT
ROWNUM
10.2B SQL リファレンスドキュメントの p49 には、一番下にあるTOP 句というタイトルのサブセクションがあります。
SELECT TOP
Oracle のROWNUM
機能と機能的に同等です。SELECT TOP
は、結果セット サイズの制限に関して単純に定義されており、最適なデータ アクセスのためにこの制限をどのように使用するかはオプティマイザによって決定されることに注意してください。したがって、オラクルの 句SELECT TOP
の意味を定義するために使用されるすべての「手続き上の規則」があるわけではありません。ROWNUM
ただし、 の構文によれば、TOP
can のように述語として使用できないため、これは不正確なようですROWNUM
(たとえば、 I can't say SELECT * FROM Customer WHERE TOP > 5 AND TOP < 10
)。SoTOP
は と機能的に同等ではありませんROWNUM
。
を模倣する方法はありますかOFFSET
、それとも運が悪いのでしょうか?
c# - Progress Openedge ABL with .NET bridgeでクラス、メソッド、およびプロパティを属性で装飾する方法は?
仕事で Progress Openedge Architect を使用する必要があり、一部の C# コードを ABL コードに変換する必要があります (ABL は言語名です)。そのため、クラス、プロパティ、およびメソッドを .NET 属性で装飾する方法を見つける必要があります。このガイド ( http://documentation.progress.com/output/OpenEdge102b/pdfs/dvngm/dvngm.pdf )を検索しましたが、C# から ABL へのマッピング セクションで装飾について言及されていません。
簡単な C# の例:
これについて助けてくれてありがとう!
敬具、
ガブリエル
progress-4gl - cgi-wrapper コード ファイルで websession を管理するには?
webspeed を使用して Web アプリケーションを開発しています。私のコードは cgi-wrappers のみで書かれています。現在、私は wesession の管理に取り組んでいます (すべてのケース)。問題は、F5 キーを使用してページを更新すると、.p が常に新しいセッション ID を作成することです。.p でこのような状況にどのように取り組むことができますか? この問題は、コードが .html ファイルに記述されている場合には発生しませんが、コードが完全に .p ファイルに記述されている場合には発生します。
ありがとう。
sql - Nhibernate 3.3.1 OpenEdge 方言が Linq から不適切な like ステートメントを生成する
ODBC 経由で OpenEdge 10.2a データベースと連携する新しい NHibernate ダイアレクトを作成しています。NHibernate 2.1 で方言を問題なく使用していますが、NHibernate 3.3.1 に移植するときに、生成されたクエリの Like ステートメントに問題があります。
NHibernate 3.3.1 で方言を使用すると、startswith("sometest") を使用した linq クエリに対して次のようなステートメントが生成されます。
これは NHibernate 2.1 から変更されており、OpenEdge データベースはこれをサポートしていません。NHibernate 2.1 の同じクエリは次のようになります。
MsSql2005Dialect を使用してみました。これにより、生成された SQL が次のように少し変更されます。
プラスになったパイプに注目してください。
これらの変更の原因は何ですか? また、NH 3.3.1 で方言を動作させるにはどうすれば変更できますか?
widget - 静的クラスを含む名前のないウィジェットプールをクリアまたは削除する方法
Progress10.1cを使用しています
静的メソッドと非静的メソッドの両方を含むクラスがあります。
クラスはUSE-WIDGET-POOLで定義されます。デストラクタでは、「DELETEWIDGET-POOL」と言います。
クラスのインスタンスを作成し、メソッドを呼び出します。メソッド自体は、クラスの静的メソッドの1つを使用します。したがって、正しく理解すれば、クラスのインスタンスが独自の名前のないプールにあり、クラスの静的メンバー用に別の名前のないウィジェットプールがあります。
ここまでは順調ですね。しかし、私はデバッグで忙しく、コードに変更を加えています。再コンパイルしてテストを再実行します。これで非静的メンバーは機能しますが、すべての静的メンバーは古いバージョンのクラスからのものであり、セッションにスコープされている静的メンバーのプールに引き続き保存されます。つまり、デストラクタの「DELETE WIDGET-POOL」は、クラスのインスタンスのプールを削除しましたが、静的メンバーのプールはまだ存在しています。
新しいバージョンのクラスをロードするための唯一の方法は、セッションからログオフしてから再度ログオンすることです。これは私たちの環境におけるかなりの使命です。変更を加えるたびに、開発環境を停止して開始する必要があります。
セッションでオブジェクトのリストを調べようとしましたが、探しているものが見つかりませんでした。間違ったオブジェクトから始めているか、進行中のプールとオブジェクトに関する知識が不足している可能性があります。
毎回セッションを破棄せずに、その名前のないプールをターゲットにして、クラスの静的な「インスタンス」を削除する方法はありますか?