- 浏览: 533951 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (240)
- Java (25)
- Flex (46)
- Sybase (26)
- Sqlserver (7)
- .NET (1)
- .NET-Silverlight (11)
- Hibernate (5)
- Korn-shell (2)
- Perl (5)
- Unix & Linux (11)
- Ruby (3)
- SVN (2)
- Tomcat (1)
- CSS (5)
- Web (2)
- English (3)
- SQL (9)
- Qlikview (4)
- Spring (7)
- javascript (2)
- weblogic (5)
- iphone (1)
- 网络 (5)
- 随 (23)
- AutoSys (1)
- Hermes (2)
- RPM (2)
- CA (1)
- Operating System (1)
- SSIS (3)
- Windows (2)
- excel (1)
- SSRS (1)
- 活动 (23)
- Eclipse (2)
- Angular (0)
- Python (0)
- AWS (0)
- Android (0)
最新评论
-
devcang:
long t1 = System.nanoTime();
java中取得微秒级的时间 -
Sev7en_jun:
Sev7en_jun 写道 ExternalInterface ...
flex"页面跳转" -
Sev7en_jun:
ExternalInterface.call("fu ...
flex"页面跳转" -
lujinan858:
Incorrect syntax near 'fddActiv ...
Sybase alter 用法 -
Sev7en_jun:
Alter table TestItem drop COLUM ...
Sybase alter 用法
sql server的BCP导入导出
bcp命令是SQL
Server提供的一个快捷的数据导入导出工具。使用它不需要启动任何图形管理工具就能以高效的方式导入导出数据。bcp是SQL
Server中负责导入导出数据的一个命令行工具,它是基于DB-Library的,并且能以并行的方式高效地导入导出大批量的数据。bcp可以将数据库
的表或视图直接导出,也能通过SELECT
FROM语句对表或视图进行过滤后导出。在导入导出数据时,可以使用默认值或是使用一个格式文件将文件中的数据导入到数据库或将数据库中的数据导出到文件
中.
1. bcp的主要参数介绍
bcp共有四个动作可以选择。
(1) 导入。
这个动作使用in命令完成,后面跟需要导入的文件名。
(2) 导出。
这个动作使用out命令完成,后面跟需要导出的文件名。
(3) 使用SQL语句导出。
这个动作使用queryout命令完成,它跟out类似,只是数据源不是表或视图名,而是SQL语句。
(4) 导出格式文件。
这个动作使用format命令完成,后而跟格式文件名。
下面介绍一些常用的选项:
-f format_file
format_file表示格式文件名。这个选项依赖于上述的动作,如果使用的是in或out,format_file表示已经存在的格式文件,如果使用
的是format则表示是要生成的格式文件。
-x
这个选项要和-f format_file配合使用,以便生成xml格式的格式文件。
-F first_row
指定从被导出表的哪一行导出,或从被导入文件的哪一行导入。
-L last_row
指定被导出表要导到哪一行结束,或从被导入文件导数据时,导到哪一行结束。
-c
使用char类型做为存储类型,没有前缀且以"\t"做为字段分割符,以"\n"做为行分割符。
-w
和-c类似,只是当使用Unicode字符集拷贝数据时使用,且以nchar做为存储类型。
-t field_term
指定字符分割符,默认是"\t"。
-r row_term
指定行分割符,默认是"\n"。
-S server_name[ \instance_name]
指定要连接的SQL Server服务器的实例,如果未指定此选项,bcp连接本机的SQL
Server默认实例。如果要连接某台机器上的默认实例,只需要指定机器名即可。
-U login_id
指定连接SQL Sever的用户名。
-P password
指定连接SQL Server的用户名密码。
-T
指定bcp使用信任连接登录SQL Server。如果未指定-T,必须指定-U和-P。
-k
指定空列使用null值插入,而不是这列的默认值。
2. 如何使用bcp导出数据
(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还可以通过简单地设置选项对导出的行进行限制。
这条命令使用了两个参数-F 10和-L 13,表示从SE
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"'
LECT 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,则这条记录将不被导入到数据库中,其它满足条件的记录正常导入。
发表评论
-
SQLServer replace 与Sybase str_replace
2013-05-16 17:08 2154REPLACE ( 'string_e-xpression ... -
Sybase使用BCP命令导入数据,Identity属性主键的处理
2013-02-14 16:07 1597程序定时使用BCP命令到处需要备份的表数据。在测试导入时,发 ... -
Sybase15: how to get memory of each table
2011-11-03 14:58 961declare @pagekb int sele ... -
Sybase 删除A表中不存在于B表中的记录
2010-08-04 11:21 2881A表和B表拥有相同的联合主键column1,column2, ... -
sybase SET CHAINED OFF与SET CHAINED ON两种事务模式有什么区别(转)
2010-07-23 13:49 5541默认的是off,SQL92标准默认是on. 如果是on,那么 ... -
SQLserver中的isql命令的参数详解
2010-06-10 16:00 3016SQLserver中的isql命令的参数详解 你是用Wind ... -
数据库迁移到sybase时的Sql脚本修改
2010-02-08 10:30 2530去掉drop语句后的cascade c ... -
Sybase函数
2009-11-05 14:22 4159Sybase字符串函数 Sy ... -
truncate,delete,drop的异同点
2009-10-19 11:11 1551truncate和delete区别 TRUNCA ... -
BCP 简 要 说 明
2009-09-22 11:28 1218BCP是SYBASE公司提供专门用于数据库表一级数据备份的工 ... -
丢人的低级错误
2009-08-04 15:13 966今天犯了一个低级错误 将一个查询很慢的带有多个join的SQ ... -
Sybase store procedure error analysis
2009-08-04 09:37 9991、不支持&&、||等操作符 ,用 and、o ... -
对于Sybase Central v4.3 的Stack Trace异常的规避变通处理
2009-08-04 13:39 1474当我们在使用用Java编写的Sybase Central v4 ... -
如何才能让你的SQL运行得更快(sql语句运行在sybase数据库下)
2009-08-03 10:44 1259很多人在使用SQL时往往 ... -
Sybase 索引的使用和优化
2009-08-03 14:08 2322在应用系统中,尤其在联 ... -
Sybase 代替start with、connect by的store procedure
2009-06-11 00:33 2041if exists (select 1 from sysobj ... -
Sybase Precision for the Float type of table's column
2009-06-23 14:09 982If the type of column defined a ... -
Sybase alter 用法
2009-06-24 09:11 15220增加一列 Alter table TABLENA ... -
Sybase 判断对象是否存在于数据库中的两种方式
2009-06-24 17:45 2419一 使用OBJECT_ID方式 IF OBJECT_ID(' ... -
sybase中数据转换的函数
2009-06-26 11:32 1251四舍五入用round,如round(123.4567,1)=1 ...
相关推荐
bcp是微软SQLServer数据库系统的命令行工具,用于进行大数据量的导入导出,该工具简单实用、效率极高,本文总结了bcp命令操作的各种设置开关功能含义和使用方法,可以为需要的用户提供有益帮助。
SQL Server数据库导入导出技术是数据库管理员和开发人员在整合数据、迁移数据库或进行数据备份时常用的一种功能。SQL Server提供了多种方式进行数据导入和导出,以满足不同场景的需求。下面我们将详细介绍这些方法...
使用命令行BCP导入导出数据 BCP(Bulk Copy Program)是SQL Server提供的一个命令行工具,用于快速地将大量数据导入到SQL Server数据库中或将数据导出到文件。BCP支持并行操作,可以显著提高数据加载的速度。以下...
SQL Server的BCP(Bulk Copy Program)工具是一个强大的命令行实用程序,用于高效地导入大量数据到SQL Server数据库,或导出数据到...在实际操作中,请根据具体需求灵活应用这些知识,确保数据导入导出过程的顺利进行。
总的来说,Excel与SQL Server之间的数据导入导出是数据集成的重要环节,C#提供了一套完整的工具和接口来实现这一过程。开发者需要了解SQL查询、ADO.NET、Excel API以及数据库事务等相关知识,才能有效地进行数据的...
sql server 2008 导入导出数据大全 /******* 导出到excelEXEC master..xp_cmdshell 'bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q - S"GNETDATA/GNETDATA" -U"sa" -P""' /*********** 导入ExcelSELECT * ...
BCP(Bulk Copy Program)是SQL Server提供的一种高效的数据导入导出工具,能够快速地将大量数据从数据库复制到文本文件,或者从文本文件复制到数据库。 在SQL Server中使用BCP导出数据到Excel的具体方法通常涉及到...
SQL Server SQL 语句导入导出大全 简介:微软 SQL Server 数据库 SQL 语句导入导出大全,包括与其他数据库和文件的数据的导入导出。下面是 SQL Server SQL 语句导入导出大全的详细知识点。 导出到 Excel 为了将...
使用命令行工具 bcp 是 SQL Server 中的一种导入导出方式。bcp 是基于 DB-Library 客户端库的工具,能够以并行方式将数据从多个客户端大容量复制到单个表中,从而大大提高了装载速度。 使用 bcp 工具可以将数据从一...
BCP(Bulk Copy Program)是 SQL Server 中负责导入导出数据的一个命令行工具,它是基于 DB-Library 的,并且能以并行的方式高效地导入导出大批量的数据。BCP 可以将数据库的表或视图直接导出,也能通过 SELECT FROM...
数据导出:在ServerDbConfig.cfg文件里配置好数据库访问所需要的信息,在sql文件下配置好要导出的SqlFiles,执行批处理DBUpdator_Normal.bat,就可以获得导出数据的文本形式,同样的配置导入工具的相关信息,...
SQL Server 提供了多种工具和技术来实现数据的导入导出,包括但不限于Transact-SQL语言、命令行工具BCP以及数据转换服务(DTS)和SQL Server Integration Services (SSIS)。这些工具和技术各有优势和适用场景,下面...
### SQL Server 数据导入导出详解 #### 概述 在SQL Server中,数据的导入与导出是一项重要的操作,能够帮助我们实现数据备份、迁移、分析等需求。本文将详细介绍如何利用`bcp`工具进行数据导入导出,并提供相关的...
在SQL Server数据库管理中,数据的导入导出是日常维护工作的重要组成部分,它涉及到数据迁移、备份、恢复以及数据交换等多个场景。本篇将详细探讨SQL Server中的数据导入导出方法,以帮助你更好地理解和应用这些实用...
2. **SQL Server的数据导出方式**:SQL Server提供了多种数据导出方式,如SQL Server Management Studio (SSMS) 的“任务”->“导出数据”,以及bcp命令行工具。这些方法通常用于导出整个数据库或表的数据,但不直接...
BCP 命令导入导出数据 BCP(Bulk Copy Program)是一种命令行工具,用于将数据批量导入或导出到 SQL Server 数据库中。下面将详细介绍 BCP 命令的使用方法和参数。 生成格式化文件 BCP 命令可以生成格式化文件,...
SQL Server提供了命令行方式来导入导出数据,通常使用`BCP`(Bulk Copy Program)和`OPENROWSET`函数。 - **BCP命令**:用于批量导入和导出数据。例如,`bcp SettleDB.dbo.shanghu out c:\temp1.xls -c -q -S...
6. **PowerShell**:另一种方法是使用PowerShell,它提供了丰富的SQL Server模块,可以调用SQL命令行工具(如sqlcmd或bcp)来导出数据,然后通过PowerShell脚本控制Word文档的操作。 7. **Third-party Tools**:...