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