`

Sybase 数据库BCP命令导入导出数据 增强版

    博客分类:
  • DB
阅读更多
1.使用BCP导出整个表或视图。
BCP AdventureWorks.sales.currency out c:\currency1.txt -c -U"sa" -P"password" --使用密码连接

BCP AdventureWorks.sales.currency out c:\currency1.txt -c -T --使用信任连接
下面是上述命令执行后的输出结果
Starting copy...
105 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.) Total : 10 Average : (10500.00 rows per sec.)
下面是currency1.txt的部分内容
AED Emirati Dirham 1998-06-01 00:00:00.000
AFA Afghani 1998-06-01 00:00:00.000
... ... ...
... ... ...
ZWD Zimbabwe Dollar 1998-06-01 00:00:00.000
在使用密码登录时需要将-U后的用户名和-P后的密码加上双引号。
注:BCP除了可以在控制台执行外,还可以通过调用SQL Server的一个系统存储过程xp_cmdshell以SQL语句的方式运行BCP。如上述第一条命令可改写为
EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency out c:\currency1.txt -c -U"sa" -P"password"'
执行xp_cmdshell后,返回信息以表的形式输出。为了可以方便地在SQL中执行BCP,下面的命令都使用xp_cmdshell执行BCP命令。

2.对要导出的表进行过滤。
BCP不仅可以接受表名或视图名做为参数,也可以接受SQL做为参数。通过SQL语句可以对要导出的表进行过滤,然后导出过滤后的记录。
EXEC master..xp_cmdshell 'BCP "SELECT TOP 20 * FROM AdventureWorks.sales.currency" queryout c:\currency2.txt -c -U"sa" -P"password"'
BCP还可以通过简单地设置选项对导出的行进行限制。
EXEC master..xp_cmdshell 'BCP "SELECT TOP 20 * FROM AdventureWorks.sales.currency" queryout c:\currency2.txt -F 10 -L 13 -c -U"sa" -P"password"'
这条命令使用了两个参数-F 10和-L 13,表示从SELECT TOP 20 * FROM AdventureWorks.sales.currency所查出来的结果中取第10条到13条记录进行导出。

3. 如何使用BCP导出格式文件
BCP不仅可以根据表、视图导入导出数据,还可以配合格式文件对导入导出数据进行限制。格式文件以纯文本文件形式存在,分为一般格式和xml格式。用户可以手工编写格式文件,也可以通过BCP命令根据表、视图自动生成格式文件。
EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency format nul -f c:\currency_format1.fmt -c -T'
上述命令将currency表的结构生成了一个格式文件currency_format1.fmt,下面是这个格式文件的内容。
9.0
3
1 SQLCHAR 0 6 "\t" 1 CurrencyCode SQL_Latin1_General_CP1_CI_AS
2 SQLCHAR 0 100 "\t" 2 Name SQL_Latin1_General_CP1_CI_AS
3 SQLCHAR 0 24 "\r\n" 3 ModifiedDate

这个格式文件记录了这个表的字段(共3个字段)类型、长度、字符和行分割符和字段名等信息。
BCP还可以通过-x选项生成xml格式的格式文件。
EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency format nul -f c:\currency_format2.fmt -x -c -T'
xml格式文件所描述的内容和普通格式文件所描述的内容完全一样,只是格式不同。

4. 如何使用BCP导入数据
BCP可以通过in命令将上面所导出的currency1.txt和currency2.txt再重新导入到数据库中,由于currency有主键,因此我们将复制一个和currency的结构完全一样的表。
SELECT TOP 0 * INTO AdventureWorks.sales.currency1 FROM AdventureWorks.sales.currency
将数据导入到currency1表中
EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency1 in c:\currency1.txt -c -T'
导入数据也同样可以使用-F和-L选项来选择导入数据的记录行。
EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency1 in c:\currency1.txt -c -F 10 -L 13 -T'
在导入数据时可以根据已经存在的格式文件将满足条件的记录导入到数据库中,不满足则不导入。如上述的格式文件中的第三个字段的字符长度是24,如果某个文本文件中的相应字段的长度超过24,则这条记录将不被导入到数据库中,其它满足条件的记录正常导入。
使用普通的格式文件
EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency1 in c:\currency1.txt -F 10 -L 13 -c -f c:\currency_format1.fmt -T'
使用xml格式的格式文件
EXEC master..xp_cmdshell 'BCP AdventureWorks.sales.currency1 in c:\currency1.txt -F 10 -L 13 -c -x -f c:\currency_format2.fmt -T'
分享到:
评论

相关推荐

    BCP命令导入导出数据

    BCP 命令导入导出数据 BCP(Bulk Copy Program)是一种命令行工具,用于将数据批量导入或导出到 SQL Server 数据库中。下面将详细介绍 BCP 命令的使用方法和参数。 生成格式化文件 BCP 命令可以生成格式化文件,...

    sybase数据库 bcp问题总结

    BCP 是 Sybase 数据库中的一个重要工具,用于导入和导出数据,但是如果不正确地使用 BCP,可能会出现各种错误和问题。 一、 BCP 错误 在使用 BCP 时,可能会遇到各种错误,例如: * ct_connect():network packet...

    sybase bcp命令详解

    标题"sybase bcp命令详解"提到了`bcp`命令,这是Sybase数据库管理系统中一个非常重要的数据导入导出工具。它允许用户在数据库与操作系统文件之间批量复制数据,用于数据迁移、备份或数据处理等场景。 描述"bcp ...

    SYBASE数据库使用命令

    数据导入命令用于将外部文件中的数据导入到SYBASE数据库中。该命令的基本语法为:bcp <库名>.<表名> in <文件路径> [-S <服务器名>] [-U <用户名>] [-P <密码>] [-J <字符集>] [-c] [-t <分隔符>] 其中:<库名>是要...

    Sql Server数据库BCP导入导出工具

    数据导出:在ServerDbConfig.cfg文件里配置好数据库访问所需要的信息,在sql文件下配置好要导出的SqlFiles,执行批处理DBUpdator_Normal.bat,就可以获得导出数据的文本形式,同样的配置导入工具的相关信息,...

    bcp导入导出数据

    ### bcp导入导出数据:理解SQL Server与Sybase数据库数据迁移 在IT行业中,数据库管理与维护是一项至关重要的任务,特别是在数据迁移、备份或恢复过程中。`bcp`(Bulk Copy Program)作为SQL Server和Sybase数据库...

    数据库数据的导入导出和数据库备份和恢复.pdf

    - 在导入导出数据时,可能需要将数据从一种格式转换为另一种格式,如将SQL Server的数据导出为CSV格式,以便在Excel或其他应用中使用。 - 数据清洗和预处理:在数据导入前,通常需要进行数据清洗以确保数据质量和...

    利用BCP导入导出数据库为文本数据

    BCP(Bulk Copy Program)是SQL Server提供的一种批量导入导出数据的工具。它支持将数据库中的表或视图导出到文本文件,或将文本文件的数据导入到数据库中。此工具非常适合在进行大量数据操作时使用,例如数据迁移、...

    bcp—SQLServer命令行数据导入导出工具使用总结.txt

    bcp是微软SQLServer数据库系统的命令行工具,用于进行大数据量的导入导出,该工具简单实用、效率极高,本文总结了bcp命令操作的各种设置开关功能含义和使用方法,可以为需要的用户提供有益帮助。

    SybaseV15安装相关资料及bcp导入导出命令

    总的来说,"SybaseV15安装相关资料及bcp导入导出命令"这一资源包提供了全面的学习材料,涵盖了从安装Sybase数据库系统到利用bcp进行数据迁移的整个流程。无论是初次接触Sybase的新手还是有经验的DBA,都能从中受益,...

    Sybase IQ数据的导入与导出

    ### Sybase IQ 数据的导入与导出...通过以上内容可以看出,Sybase IQ 提供了丰富的数据导入导出功能,用户可以根据实际需求选择合适的方法来进行数据迁移。同时,正确配置各种参数对于确保数据完整性和准确性至关重要。

    不同类型数据库导入导出

    4. **使用BCP命令行工具导入导出数据**: - 将SQL Server表导出为文本文件或Excel文件: ```sql EXEC master..xp_cmdshell 'bcp "SELECT class_no, kind_no, cn_name FROM new_ks.dbo.kind ORDER BY 1,2" ...

    vb利用shell功能调用sql里的bcp数据库导出导入

    总的来说,VB利用Shell功能调用SQL的BCP是实现数据库批量导入导出的有效方式,能够提高数据处理的效率和灵活性。在进行此类操作时,要确保对BCP命令和VB编程有深入的理解,同时考虑安全性、性能优化以及错误处理等...

    Sybase bcp工具

    Sybase bcp(Bulk Copy Program)是Sybase数据库系统提供的一种强大工具,用于高效地批量导入和导出数据。它允许用户在数据库和外部文件之间进行大规模的数据传输,极大地提高了数据操作的效率。在本文中,我们将...

    BCP数据导入导出实例讲解

    批量复制程序(BCP)是Microsoft SQL Server中的一个命令行实用程序。使用BCP,我们可以导入并可从SQL Server数据库中快速而轻松地导出数据。任何使用这个功能的数据库管理员都承认BCP是一个关键工具。

    sybase BCP实用工具详解

    Sybase BCP(Batch Copy Program)是Sybase Adaptive Server Enterprise (ASE) 提供的一个强大的数据导入导出工具,它允许用户将数据批量地从数据库复制到文件,或者从文件复制到数据库,极大地提高了数据处理的效率...

Global site tag (gtag.js) - Google Analytics