ODBC клиенты говорят SQL, а не 4GL.
Чтобы использовать 4GL для извлечения данных, вы используете соединение «самообслуживания» (разделяемая память), если вы находитесь на том же хосте, что и сервер, или можете использовать лицензию «клиентская сеть», если вы находитесь на сетевой подключенный компьютер.
Вы могли бы, конечно же, пройти через всевозможные свернутые вещи, чтобы использовать 4GL без фактического соединения db и серии промежуточных уровней, чтобы каким-то образом получить соединение данных ODBC. (Вы могли бы, например, использовать сокеты для связи с приложением C#, которое использует ODBC для подключения к Progress ...). Но специфика будет зависеть от того, что у вас есть, каковы ваши навыки кодирования и , почему вы пытаетесь сделай это.
Если вам удастся совместить нечто подобное, у вас все еще будет проблема, связанная с подключением ODBC к SQL. Поэтому, если вы ожидаете, что функции, такие как выбор индекса или триггеров индекса 4GL или «данные переменной ширины во всем мире», вам не удастся. Интерфейс SQL не знает об этих вещах и не сможет их предоставить.
Я уверен, что Clikview вообще не говорит 4GL - так что вам также придется конвертировать из 4GL обратно в SQL снова. Все это не имеет никакого смысла.
(Что касается «почему», я могу только представить, что вы пытаетесь обойти требование о лицензировании. Если это так, вы не только делаете это намного сложнее, чем нужно, но вы также не являетесь чтобы решить проблему лицензирования. Лицензия не волнует, какие технологии и продукты используются или не используются для соединений.)
Зачем вы хотите это сделать? Qlikview для прогресса через ODBC и SQL относительно прямолинейно. Что движет «использованием 4GL»? –