【问题标题】:How to export all tables within an Sybase 12.5 database to multiple flat files?如何将 Sybase 12.5 数据库中的所有表导出到多个平面文件?
【发布时间】:2020-05-27 07:04:44
【问题描述】:

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

【问题讨论】:

    标签: export export-to-csv sybase sap-ase isql


    【解决方案1】:

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

    对于每个数据库,以下查询将列出表的名称

    select name from sysobjects where type = 'U'
    

    Sybase ASE 还附带了一个名为“bcp”的工具,它代表“批量复制”。这是一种创建表格内容的平面文件的简单方法。

    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

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2023-03-12
        • 1970-01-01
        • 2021-10-02
        • 2016-01-15
        • 1970-01-01
        • 2016-10-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多