Sybase 转储 table 到 sql 格式

Sybase dump table to sql format

我需要转储几个 Sybase table,然后在其他数据库服务器上恢复它们​​。不幸的是,我无法使用 bcp 或输出语句 - "new" 数据库中的 table 架构包含 "old" 中的所有列,但也包含一些额外的列。列的顺序也不相同。我想我需要一个带有 SQL insert + column names 语句的转储,但我在 Sybase 文档中找不到它。

我真的建议你弄清楚如何让 bcp 工作,因为它是从数据库中提取个人 table 的默认工具。

假设 bcp 恢复 table,您有几个选择。

1 - 在您的源代码 table 上创建一个视图,以您需要的方式对列进行重新排序(让开发人员在不同版本之间更改列顺序感到羞耻)。然后 BCP 从视图中出来,你应该有你需要的东西(假设目标系统中的新列允许空值或分配了默认值。)

2 - BCP 输出源 table,并将其 BCP 到目标系统上的临时文件 table。然后你可以使用 'select into' 重新排序数据,并将其移动到目标 table.

如果这些都不适合您,那么您可能不得不求助于命令行技巧来导出数据 - 不理想,但可行。