BCP 数据的导入和导出

BCP 命令的参数很多,使用 -h 查看参数帮助信息,参数是区分大小写的

使用BCP命令导出和导入数据常用的参数如下

bcp {[[database_name.][schema_name].]{table_name | view_name} | "query"}

{in | out | queryout}  数据文件

[-c 字符类型]  | [-w 宽字符类型]
[-t 字段终止符]    [-r 行终止符]
[-i 输入文件]       [-o 输出文件]       
[-S 服务器名称]   [-U 用户名]           [-P 密码]
[-T 可信连接]
[-k 保留NULL值]

-c 使用char类型做为存储类型,没有前缀且以"\t"做为字段分割符,以"\n"做为行分割符。

-w 和-c类似,只是当使用Unicode字符集拷贝数据时使用,且以nchar做为存储类型。如果 -c 和 -w 同时指定,那么 -w 将覆盖 -c。

-t field_term 指定column分割符,默认是"\t"。

-r row_term 指定row分割符,默认是"\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值插入,而不是这列的默认值。

一,使用bcp 将整个table中的数据导出到txt或csv文档中

bcp db_study.dbo.sales out D:\test.txt -S . -U sa -P sa -t ‘\t‘ -w
bcp db_study.dbo.sales out D:\test.csv -S . -U sa -P sa -t ‘,‘ -w 

二,使用 query statement 将查询结果导出到txt 或 csv文档中

1,配置SQL Server,允许运行 xp_cmdshell 命令

-- 允许配置高级选项
EXEC master.sys.sp_configure ‘show advanced options‘, 1
-- 重新配置
RECONFIGURE
-- 启用xp_cmdshell
EXEC master.sys.sp_configure ‘xp_cmdshell‘, 1
--重新配置
RECONFIGURE

否则,SQL Server 会抛出错误信息

SQL Server 阻止了对组件“xp_cmdshell”的 过程“sys.xp_cmdshell”的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用“xp_cmdshell”。有关启用“xp_cmdshell”的详细信息,请搜索 SQL Server 联机丛书中的“xp_cmdshell”。

2,使用  xp_cmdshell 命令运行BCP命令,将数据导出

EXEC master..xp_cmdshell ‘bcp "SELECT [Store] ,[Item] ,[Color] ,[Quantity] FROM [db_study].[dbo].[Inventory]" queryout D:\test.txt -S . -U sa -P sa -t "\t" -w ‘

EXEC master..xp_cmdshell ‘bcp "SELECT [Store] ,[Item] ,[Color] ,[Quantity] FROM [db_study].[dbo].[Inventory]" queryout D:\test.csv -S . -U sa -P sa -t "," -w ‘

3,使用  xp_cmdshell 命令,也可以将整个Table的数据导出

EXEC master..xp_cmdshell ‘bcp [db_study].[dbo].[Inventory] out D:\test.txt -S . -U sa -P sa -t "\t" -w ‘

EXEC master..xp_cmdshell ‘bcp [db_study].[dbo].[Inventory] out D:\test.csv -S . -U sa -P sa -t "," -w ‘

三,将数据导入到SQL Server

CREATE TABLE [dbo].[Inventory_LoadIn]
(
    [Store] [varchar](2) NULL,
    [Item] [varchar](20) NULL,
    [Color] [varchar](10) NULL,
    [Quantity] [int] NULL
)

1,使用BCP,将txt文档中的数据导入到table [dbo].[Inventory_LoadIn] 中

bcp [db_study].[dbo].[Inventory_LoadIn] in D:\test.txt -S . -U sa -P sa -t "\t" -w 

bcp [db_study].[dbo].[Inventory_LoadIn] in D:\test.csv -S . -U sa -P sa -t "," -w 

2,使用xp_cmdshell 命令执行bcp,将数据导入到数据库table中

EXEC master..xp_cmdshell ‘bcp [db_study].[dbo].[Inventory_LoadIn] in D:\test.txt -S . -U sa -P sa -t "\t" -w ‘

EXEC master..xp_cmdshell ‘bcp [db_study].[dbo].[Inventory_LoadIn] in D:\test.csv -S . -U sa -P sa -t "," -w ‘

参考文档:

使用BCP导出导入数据

时间: 2024-12-28 21:45:26

BCP 数据的导入和导出的相关文章

Oracle 数据的导入和导出(SID service.msc)

一:版本说明: (1)(Oracle11  32位系统)Oracle - OraDb11g_home1: (2)安装成功后显示如下:第一个图是管理工具,创建连接,创建表:第二个是数据库创建工具: (3)Oracle 的数据库创建可不像MySQL先建立连接(localhost 3306),再在连接界面右键点击即可创建数据库,之后在创建表,一个连接对应多个数据库:Oracle恰恰相反:先创建数据库(按第二个图是数据库创建工具):再建立连接(按第一个图是管理工具,创建连接,创建表),在连接的基础上创建

基于Metronic的Bootstrap开发框架经验总结(7)--数据的导入、导出及附件的查看处理

在很多系统模块里面,我们可能都需要进行一定的数据交换处理,也就是数据的导入或者导出操作,这样的批量处理能给系统用户更好的操作体验,也提高了用户录入数据的效率.我在较早时期的EasyUI的Web框架上,也介绍过通过Excel进行的数据导入导出操作,随笔文章为<基于MVC4+EasyUI的Web开发框架经验总结(10)--在Web界面上实现数据的导入和导出>,本文基于Bootstrap的框架基础上,再对这个模块进行更新处理,以及Office文档或者图片等附件的查看处理. 1.数据的导入操作 一般系

详细总结 使用Sqoop将HDFS/Hive/HBase与MySQL/Oracle中的数据相互导入、导出

一.使用Sqoop将MySQL中的数据导入到HDFS/Hive/HBase 二.使用Sqoop将HDFS/Hive/HBase中的数据导出到MySQL 2.3 HBase中的数据导出到mysql 目前没有直接的命令将HBase中的数据导出到MySQL,但可以先将HBase中的数据导出到HDFS中,再将数据导出到MySQL. 三.使用Sqoop将Oracle中的数据导入到HDFS/Hive/HBase 下面只给出将Oracle中的数据导入HBase,其他情况下的命令行选项与MySQL的操作相似 O

基于MVC+EasyUI的Web开发框架经验总结(10)--在Web界面上实现数据的导入和导出

数据的导入导出,在很多系统里面都比较常见,这个导入导出的操作,在Winform里面比较容易实现,我曾经在之前的一篇文章<Winform开发框架之通用数据导入导出操作>介绍了在Winform里面的通用导入导出模块的设计和开发过程,但在Web上我们应该如何实现呢?本文主要介绍利用MVC4+EasyUI的特点,并结合文件上传控件Uploadify 的使用,实现文件上传后马上进行处理并显示,然后确认后把数据写入数据库的过程. 我们知道,Web上对Excel的处理和Winform的有所差异,如果是在We

基于MVC4+EasyUI的Web开发框架经验总结(10)--在Web界面上实现数据的导入和导出

数据的导入导出,在很多系统里面都比较常见,这个导入导出的操作,在Winform里面比较容易实现,我曾经在之前的一篇文章<Winform开发框架之通用数据导入导出操作>介绍了在Winform里面的通用导入导出模块的设计和开发过程,但在Web上我们应该如何实现呢?本文主要介绍利用MVC4+EasyUI的特点,并结合文件上传控件Uploadify 的使用,实现文件上传后马上进行处理并显示,然后确认后把数据写入数据库的过程. 我们知道,Web上对Excel的处理和Winform的有所差异,如果是在We

HBase数据的导入和导出

查阅了几篇中英文资料,发现有的地方说的不是很全部,总结在此,共有两种命令行的方式来实现数据的导入导出功能,即备份和还原. 1 HBase本身提供的接口 其调用形式为: 1)导入 ./hbase org.apache.hadoop.hbase.mapreduce.Driver import 表名    数据文件位置 其中数据文件位置可为本地文件目录,也可以分布式文件系统hdfs的路径. 当其为前者时,直接指定即可,也可以加前缀file:/// 而当其伟后者时,必须明确指明hdfs的路径,例如hdf

6-06数据的导入与导出

导入数据: 从SQL Sever的外部数据源中检索数据, 然后将数据插入到SQL Sever 表中的过程. 导出数据: 将SQL Sever  中的数据导出指定格式的过程. 导入数据注意实项: 与插入数据的顺序相同,有主外键关系的,先导入主表中的数据,再导入子表中的数据. 步骤: 点击要操作的数据库,右击点任务,再点击导入数据. 这里选择要导入的文件. 直接点击下一步. 点击下一步. 这里可以选择你要把文件导入到哪一个表中,然后点击下一步. 把下面的选项都改为忽略,点击下一步. 然后就导入成功了

Leangoo使用看板——过滤看板数据,导入,导出

1. 快速过滤某一个人的任务 2. 组合筛选:通过关键词.标签和成员对看板数据进行过滤 看板导入导出: 1. 导入,导入时先下载模板,模板为Excel格式,每个卡片为一行.如果有多个列表,类别按照从左到右顺序导出到Execel中,按照从上到下顺序显示.颜色使用编号显示,编号和颜色的对应在模板下方可以看到. 2.看板导出 浏览器访问官方链接:www.leangoo.com

java中的excel数据的导入和导出

Excel数据导出 技术:Apache POI 是用Java编写的免费开源的跨平台的 Java API,Apache POI提供API给Java程式对Microsoft Office格式档案读和写的功能.POI为"Poor Obfuscation Implementation"的首字母缩写,意为"可怜的模糊实现". 用它可以使用Java读取和创建,修改MS Excel文件.而且,还可以使用Java读取和创建MS Word和MSPowerPoint文件.Apache