0

ProgressデータベースとSQLサーバー間で一部のデータを同期することを含むソフトウェアソリューションがあります。残念ながら、私たちは社内にプログレスの達人がいないので、私はここでちょっと盲目的に働いており、提供されているアドバイスを歓迎します。

すでに実施されているワークフローの場合、非常にうまく機能するのは、外部呼び出しを実行して、ABLプロシージャの「foreach」ループ内からSQLデータベースに行を挿入する機能です。

誰かが私にこれを達成するのに役立つかもしれないコードスニペットや記事に私を導くことができますか?

どうもありがとう、

4

3 に答える 3

3

SQLデータベースがMSSQLServerの場合、Microsoft SQLServer用のOpenEdgeDataServer(web.progress.com/en/openedge/dataserver-microsoft.html、documentation.progress.com/output/OpenEdge102b)を確認することをお勧めします。 /pdfs/dmsql/dmsql.pdf)。

DataServerは、Progress以外のデータベースへのABLアクセスを提供するため、標準のProgressステートメントを使用できます。たとえば、CREATEを使用して新しいレコードを追加したり、FOREACHを使用してクエリ結果を取得したりできます。

OpenEdge DataServerは、Oracle(Oracle Call Interfaceを使用)、DB2、Sybase(ODBCを使用)でも使用できます。DataServer for MS SQL Serverは、バックグラウンドでもODBCを使用します。web.progress.com/docs/datasheets/openedge/openedge_dataservers.pdf

于 2011-06-09T12:30:28.667 に答える
1

データサーバーは必要ありません。ADODBとの接続はABLで正常に機能します。コマンドオブジェクトを使用してストアドプロシージャを呼び出すこともできます。接続するユーザーには、SQL-ServerでEXECリグスを付与する必要があります。

于 2012-02-01T09:21:12.933 に答える
0

私はプログレスの第一人者ではありませんが、しばらくの間その中でいくつかの仕事をしました。AFAIKには、ABLコードをProgress以外のデータベースに接続する方法はありません(Progress Corp.が活用するベンダーロックイン戦略全体の一部)。

最善の策は、おそらくABLコードでレコードをXMLにシリアル化し、ActiveMQ(またはセットアップによってはプレーンソケットまたは名前付きパイプ/ FIFO)のようなものを使用して、より有能な言語で記述されたプログラムにレコードを送信することです。 SQL挿入を行います。

于 2011-06-09T05:35:27.913 に答える