您如何获得10.1b Progress数据库的CSV转储?

时间:2012-04-11 17:27:00

标签: database csv openedge progress-db

我正在尝试从Progress / OpenEdge 10.1b数据库获取CSV转储。这是Intergy EHR的数据库,因此应用程序附带的openEdge版本仅供运行时使用。我无法编译转储脚本或使用服务器上的数据管理工具导出。我有一份所有数据文件/结构文件的原始副本。我可以使用评估套件版本11提取此数据吗?哦..我已经联系了Progress软件试图购买10.1b的完整许可证,他们只是让我跑来跑去。有谁知道另一种解决方案?

谢谢

3 个答案:

答案 0 :(得分:1)

如果没有该程序的开发人员客户端,我看到的选项是:

1)使用TCP连接从11.0评估套件连接到10.1B db,然后编写一些代码导出表格CSV,如下所示:

FOR EACH table-name NO-LOCK: 
   EXPORT DELIMITER "," table-name.
END.

2)让某人为您的10.1B系统编写CSV导出器,

3)转储所有10.1B数据,然后将其加载到11.0 DB中,然后从该

导出

答案 1 :(得分:1)

如果您可以访问数据字典,则可以将数据导出为文本(Admin - > Export Data - > Text ..)。其中一个导出选项是指定分隔符。默认值为逗号。

您可能需要指定-rx或-rq客户端连接参数以使用运行时许可证访问数据字典。您可以使用不同的参数获得不同的选项。

答案 2 :(得分:1)

我会使用提供的实用程序sqldump来执行此操作。它会将您想要的表直接转储到后缀为.dsql的CSV文件中。适用于所有平台。 table参数与通配符一起使用,因此您可以选择一次性转储所有表(在下面的示例中将PUB.ABCCode更改为PUB。%。

在我的测试中,这比在4GL代码中使用EXPORT命令快80%。

c:\program files\epicor\>sqldump -u XXXX -a XXXX -t PUB.ABCCode progress:T:l

ocalhost:9450:mfgsys

OpenEdge Release 10.2A0329  as of Thu Apr 19 10:02:30 EDT 2012

Table      : PUB.ABCCode
Dump file  : PUB.ABCCode.dsql

Dumped 10 Records, 1647 bytes, 1 seconds.

Dumped 1 Tables

c:\program files\epicor\>