我正在做一个项目,我需要以编程方式验证和/或比较产品版本之间的数据库模式。
我正在使用 Perl,并且正在寻找一种跨平台的方法来收集数据库模式。我目前能够通过使用 dbisql.exe 命令然后解析结果来执行数据库查询。
我想知道是否有潜在的存储过程或一组查询可以运行以收集数据库模式。
看来dbunload.exe命令可用于生成 SQL 重新生成脚本,但我认为此输出可能难以解析。
任何反馈将不胜感激。
我正在做一个项目,我需要以编程方式验证和/或比较产品版本之间的数据库模式。
我正在使用 Perl,并且正在寻找一种跨平台的方法来收集数据库模式。我目前能够通过使用 dbisql.exe 命令然后解析结果来执行数据库查询。
我想知道是否有潜在的存储过程或一组查询可以运行以收集数据库模式。
看来dbunload.exe命令可用于生成 SQL 重新生成脚本,但我认为此输出可能难以解析。
任何反馈将不胜感激。
Sybase Central v3.0 可以导出包含所有 DB 对象的 DDL;而且我认为 SC v6.0 无法连接到 ASA 11 :(
如果您想在非常低的级别上检索数据库模式数据,您可以查询相应的系统表。它们位于 SYS 命名空间中,尤其是SYSTABLE
(对于所有表)和SYSCOLUMN
这些表中的所有字段。
检查ASA SQL 参考手册以了解这些系统表的架构。
使用 Perl 的 DBI,您可以轻松地对这些表进行查询。但是您必须为模式创建一些本地存储来比较查询结果。