如何将 Sybase 12.5 数据库中的所有表导出到多个平面文件?

How to export all tables within an Sybase 12.5 database to multiple flat files?

我的客户运行着一个非常旧的(在我看来)Sybase 12.5.2 数据库。我 want/need 将所有 table 从数据库导出到多个(对于每个 table)平面(文本)文件。我可以使用管理员用户访问 ISQL 命令行提示符。我以前从未使用过 Sybase 数据库。

Sybase Adaptive Server Enterprise (ASE) 允许托管多个数据库。您没有指定是只需要导出数据库服务器中的一个数据库,还是需要导出所有数据库。

对于每个数据库,以下查询将列出 tables

的名称
select name from sysobjects where type = 'U'

Sybase ASE 还附带一个名为 "bcp" 的工具,它代表 "Bulk Copy"。这是创建 table 内容的平面文件的简单方法。

bcp database.schema.table out file_name -c -U username -S server_name

它有更多可能感兴趣的选项,尤其是围绕字段和行终止符的选项。可在此处找到最相关版本 (12.5.1) 的文档:

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc30191_1251/html/utility/BABGCCIC.htm

我一直在使用 BCP 命令从 sybase 中导出数据 environments.bcp 是一个命令行实用程序,您可以使用它从多种类型的数据库中导出数据

下面是一个很好的例子,你可以试试 bcp Table Name out OUTPUT FILE PATH\FILENAME.dat -S SERVER NAME -U USERNAME -P PASSWORD -F Format -r row_terminator -e 错误输出文件路径和名称

您可以使用此类命令创建一个批处理文件,并一次导出多个文件。

如果您可以访问任何 ETL 工具,您也可以使用相同的工具导出数据。