gpt4 book ai didi

php - 将 Corel Paradox 4.0 表批量转换为 CSV/SQL——通过 PHP 或其他脚本

转载 作者:行者123 更新时间:2023-11-29 00:54:36 24 4
gpt4 key购买 nike

最近,我开始探索将大约 16k Corel Paradox 4.0 数据库表(我的客户一直使用遗留平台超过 20 年,主要是由于大量后勤问题)转换为更现代的格式(即 CSV、SQL、等)大量,到目前为止我一直在研究 PHP,因为它有一个专门用于 Paradox 数据处理的库,但是虽然我对如何编写转换代码相当有信心(即简单地调用一些文件打开,关闭,并编写函数)我关心错误检测并确保在运行脚本时,我不会花费数小时等待它运行只是为了看到导出的 16k 损坏文件。

此外,我不完全确定调用文件的逻辑循环。我正在考虑让程序生成一个包含所有具有适当扩展名的文件的列表,然后循环遍历该列表,但是我不确定这是否适合这种大小的目录。

这是在具有 XAMPP 设置的本地 Windows 7 x64 系统上运行的(数据库都是内部使用的)所以我不确定纯 PHP 是否是最好的主意——所以我一直想知道是 Python 还是其他一些其他轻量级脚本语言可能更适合处理此问题。

非常感谢您的任何见解和帮助,

最佳答案

毫无疑问,这对您来说已经太迟了,但为了后代......

如果拥有 Corel Paradox 工作环境,则可以使用它来简化过渡。

我们将我们拥有的 Corel Paradox 9 表移动到我们构建的 Oracle 模式中,方法是连接到该模式(使用别名,例如 SCHEMA001),然后在 Paradox 内部的脚本中编写此过程:

Proc writeTable(targetTable 字符串)
errorTrapOnWarnings(是)
尝试
tc.open(目标表)
tc.copy(":SCHEMA001:"+ targetTable)
tc.关闭()
失败时
错误显示()
结束尝试
结束过程

可以通过更多 Paradox 编程来高度改进它​​,但您明白了。不过,我们发现的一件事是,Paradox 在创建 Oracle 版本时对列名使用双引号,这意味着您可以在 Oracle 中的列名中使用小写字母,这很麻烦。我们通过向 upper() 所有结果列名称编写一个快速 Oracle 查询来纠正这个问题。

我们这样调用程序:

变量
目标表字符串
tc 游标
结束变量

方法运行(var eventInfo 事件)
targetTable = "SomeTableName"
写表(目标表)
msgInfo("TransferData.ssl--脚本完成",
“就这些了,伙计们!” )
返回
结束方法

关于php - 将 Corel Paradox 4.0 表批量转换为 CSV/SQL——通过 PHP 或其他脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6709833/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com