Выполнить процедуру ABL до SQL Insert - PullRequest
0 голосов
/ 09 июня 2011

У нас есть программное решение, которое включает синхронизацию некоторых данных между базой данных Progress и сервером SQL. К сожалению, у нас нет гуру Прогресса в доме, поэтому я работаю как бы слепой и буду рад любым советам, которые предлагаются.

Для рабочего процесса, который уже существует, для нас будет работать возможность внешнего вызова для вставки строки в базу данных SQL из процедуры ABL для каждого цикла.

Кто-нибудь может направить меня к любым фрагментам кода или статьям, которые могут помочь мне достичь этого?

Большое спасибо,

Ответы [ 3 ]

3 голосов
/ 09 июня 2011

В случае, если вашей базой данных SQL является MS SQL Server, возможно, вы захотите взглянуть на OpenEdge DataServer для Microsoft SQL Server ( web.progress.com / ru / opensge / dataserver-microsoft.html , documentation.progress.com / выход / OpenEdge102b / PDFs / dmsql / dmsql.pdf ).

DataServer предоставляет вам доступ ABL к базе данных, не относящейся к Progress, поэтому вы можете использовать стандартные операторы Progress, например, CREATE для добавления новых записей или FOR EACH для получения результатов запроса.

OpenEdge DataServers также доступны для Oracle (с использованием Oracle Call Interface), DB2 и Sybase (с использованием ODBC). DataServer для MS SQL Server также использует ODBC за кулисами. web.progress.com / документы / радиокомпоненты / OpenEdge / openedge_dataservers.pdf

1 голос
/ 01 февраля 2012

Вам не нужен сервер данных, соединение с ADODB в ABL работает нормально, вы даже можете вызывать хранимые процедуры с помощью объекта команды, пользователю, с которым вы подключаетесь, для этого нужно предоставить права EXEC на SQL-сервере.

0 голосов
/ 09 июня 2011

Я не гуру Прогресса, но я какое-то время работал над этим. На самом деле, нет никакого способа подключить код ABL к базе данных, не относящейся к Progress (это часть стратегии всей корпорации, которую использует Progress Corp.).

Лучше всего, вероятно, иметь код ABL для сериализации записей в XML и использовать что-то вроде ActiveMQ (или даже простой сокет или именованный канал / FIFO в зависимости от вашей настройки) для отправки их в программа, написанная на более способном языке для выполнения вставки SQL.

...