Progress DB 4GL和ODBC数据提取

时间:2016-06-29 06:54:32

标签: odbc extract progress-4gl

我正在尝试连接到Progress DB 4GL以使用ODBC(Qlikview)提取数据。

是否可以通过ODBC使用4GL提取数据?

你能指导我吗?

谢谢和问候, 西尔巴拉萨恩

3 个答案:

答案 0 :(得分:1)

您可以使用附带的ODBC驱动程序,但它使用SQL语法,而不是ABL(4GL)查询。

Progress Datadirect有一个产品,为OpenEdge Appserver提供ODBC前端https://documentation.progress.com/output/DataDirect/openaccessbooks/oaoeguide.pdf

http://acorn.ro/products/abl-jdbc/提供了一个ABL代码的jdbc接口。

答案 1 :(得分:1)

ODBC客户端谈论SQL,而不是4GL。

要使用4GL提取数据,如果您与服务器位于同一主机上,则使用“自助服务”(共享内存)连接,或者如果您在网络上,则可以使用“客户端网络”许可证连接电脑。

当然,您可以通过各种复杂的东西来使用4GL,而无需实际的数据库连接和一系列中间层以某种方式获得ODBC数据连接。 (例如,您可以使用套接字与使用ODBC连接到Progress的C#应用​​程序进行通信...)但细节取决于您可用的内容,编码技能以及为什么你正试图这样做。

如果你想要拼凑这样的东西,你仍然会遇到ODBC连接说SQL的问题。因此,如果您期望4GL索引选择或触发器或“可变宽度数据无处不在”等功能正常工作,那么您将失去运气。 SQL接口不了解这些东西,也无法提供它们。

我很确定Clikview根本不会说4GL - 所以你还必须再次从4GL转换回SQL。整件事情没有任何意义。

(关于“为什么”我只能想象你试图绕过许可要求。如果是这样的话那么你不仅要做得那么多,要比你需要的要困难得多但是你也不会去解决许可问题。许可证并不关心用于连接的技术和产品是什么。或者不用。

答案 2 :(得分:-1)

据我所知,您可以通过ODBC使用Progress SQL92接口访问4GL表(记录的CRUD),但不能使用SQL92创建或修改4GL表。

4GL / ABL程序无法看到您使用SQL92 CREATE TABLE命令创建的任何表。

Progress网站表示Progress ODBC驱动程序包含在Progress / Openedge客户端软件包中。