------------------------------------------------------------------------
-- Author: happyflystone
-- Date : 2009-04-14 16:39:19
-- Ver: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86)
-- Apr 14 2006 01:12:25
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
-- Blog:blog.csdn.net/happyflystone
-- 注意:转载保留此信息
--------------------------------------------------------------------------
先看看bcp的帮助吧
exec xp_cmdshell 'bcp/?’
/*
output
--------------------------------------
用法: bcp {dbtable | query} {in | out | queryout | format} datafile
[-m maxerrors] [-f formatfile] [-e errfile]
[-F firstrow] [-L lastrow] [-b batchsize]
[-n native type] [-c character type] [-w wide character type]
[-N keep non-text native] [-V file format version] [-q quoted identifier]
[-C code page specifier] [-t field terminator] [-r row terminator]
[-i inputfile] [-o outfile] [-a packetsize]
[-S server name] [-U username] [-P password]
[-T trusted connection] [-v version] [-R regional enable]
[-k keep null values] [-E keep identity values]
[-h "load hints"]
NULL
*/
测试环境:
create database [test-2009]
go
use [test-2009]
go
create table ta(id int)
insert ta select 1
insert ta select 2
go
好,利用bcp输出ta表的数据,(注意:我只用了信息连接,测试时自行修改,可使用-S –U –P,同时注意如果有多个实例时记得使用-S开关)
exec xp_cmdshell 'bcp test-2009.dbo.ta out "c:\t.txt" -T -c -Sflystone\sql2005 '
/*
output
------------------------------------
SQLState = 37000, NativeError = 102
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]'-' 附近有语法错误。
NULL
*/
好嘛,这个错误很好搞定的呀,加一个[]就可以了呀
exec xp_cmdshell 'bcp [test-2009].dbo.ta out "c:\t.txt" -T -c -Sflystone\sql2005 '
/*
output
-------------------------------------------
SQLState = 37000, NativeError = 4060
Error = [Microsoft][ODBC SQL Server Driver][SQL Server]无法打开登录所请求的数据库"[test-2009]"。登录失败。
NULL
*/
晕,无法登录,这不是胡说嘛,不过你要是用queryout测试却是成功的
exec xp_cmdshell 'bcp "select * from [test-2009].dbo.ta" queryout "c:\t.txt" -T -c -Sflystone\sql2005 '
/*
output
------------------------------------
NULL
开始复制...
NULL
已复制了4 行。
数据包的大小(字节): 4096
时钟时间(毫秒): 共 10
NULL
*/
那么如何直接使用表名导出数据呢,好,下面我看这个-q这个开关项,先给出解决方案
exec xp_cmdshell 'bcp "test-2009".dbo.ta out "c:\t.txt" -T -c -Sflystone\sql2005 -q'
/*
output
-----------------------------------------
NULL
开始复制...
NULL
已复制了4 行。
数据包的大小(字节): 4096
时钟时间(毫秒): 共 10
NULL
*/
使用此选项可以指定包含空格或单引号的数据库、所有者、表或视图的名称。将由三部分组成的整个表名或视图名用英文双引号 ("") 括起来。 若要指定包含空格或单引号的数据库名称,必须使用 -q 选项。其实这和对象名中包括‘-‘也不在备注说明中呀,可是事实上却可以解决这个问题。
分享到:
相关推荐
标题 "bcp-orm-bpm" 暗示我们关注的是一个关于ORM(对象关系映射)和BPM(业务流程管理)的项目或者库。ORM是编程领域中的一种技术,它允许开发者使用面向对象的方式来操作数据库,而无需关心底层SQL语句的编写。BPM...
BCP 命令详解 BCP 命令是 SQL Server 中负责导入导出数据的一个命令行工具,它是基于 DB-Library 的,并且能以并行的方式高效地导入导出大批量的数据。BCP 命令可以用来将数据从 SQL Server 导出到文本文件中,也...
05BCP产品体系-2印刷工艺流程.pptx
标题"sybase bcp命令详解"提到了`bcp`命令,这是Sybase数据库管理系统中一个非常重要的数据导入导出工具。它允许用户在数据库与操作系统文件之间批量复制数据,用于数据迁移、备份或数据处理等场景。 描述"bcp ...
bcp命令的使用和常见问题处理 bcp命令是Sybase数据库中的一种bulk copy工具,用于将数据从文本文件导入到Sybase数据库中。下面将对bcp命令的使用和常见问题进行详细的讲解。 bcp命令的基本使用 bcp命令的基本语法...
[-a display_charset] [-q datafile_charset] [-z language] [-v] [-A packetsize] [-J clientcharacterset] [-T textorimagesize] [-E] [-g id_start_value] [-N] [-X] [-M LabelName LabelValue] [-labeled] [-K ...
[-n] [-c] [-w] [-N] [-V (60 | 65 | 70 | 80)] [-6] [-q] [-C { ACP | OEM | RAW | code_page } ] [-t field_term] [-r row_term] [-i input_file] [-o output_file] [-a packet_size] [-S server_name[\instance_...
BCP 命令导入导出数据 BCP(Bulk Copy Program)是一种命令行工具,用于将数据批量导入或导出到 SQL Server 数据库中。下面将详细介绍 BCP 命令的使用方法和参数。 生成格式化文件 BCP 命令可以生成格式化文件,...
NULL 博文链接:https://zjhdreams.iteye.com/blog/2291322
BCP56-16T1G是一款NPN型晶体管,主要用于电子设备中的开关、放大和驱动等应用。在深入理解这款元件的技术参数之前,我们需要先了解一些基本概念。 首先,NPN型晶体管是一种三极管结构,由两个N型半导体层夹着一个P...
产品型号:BCP56-10T1G类型:NPN集电极-发射集最小雪崩电压Vceo(V):80集电极最大电流Ic(max)(mA):1000直流电流增益hFE最小值(dB):63直流电流增益hFE最大值(dB):160最小电流增益带宽乘积Ft(MHz):50(Typ)封装/温度(℃):...
针对bcp命令做了优化,适合大批量数据导入导出,喜欢的拿去用
bcp是微软SQLServer数据库系统的命令行工具,用于进行大数据量的导入导出,该工具简单实用、效率极高,本文总结了bcp命令操作的各种设置开关功能含义和使用方法,可以为需要的用户提供有益帮助。
bcp-47 解析和字符串化语言标签。安装该软件包仅适用于ESM:需要使用Node 12+才能使用它,并且必须将其import而不是require d。 : npm install bcp-47内容采用import { parse , stringify } from 'bcp-47'var ...
- `-q`:设置SQL Server执行SET QUOTED_IDENTIFIER ON指令。 - `-C code_page`:指定字符编码页,如ACP、OEM等,用于转换不同编码格式的数据。 - `-t field_term`:指定字段终止符,默认为制表符`\t`。 - `-r row_...
2. **通过SQL Server存储过程执行BCP命令**:由于安全原因,BCP命令不能直接在Windows命令提示符下运行,因此需要使用SQL Server的`xp_cmdshell`扩展存储过程来执行BCP命令。这通常涉及到以下语法结构: ```sql ...
- `-q datafile_charset`: 数据文件的字符集。 - `-z language`: 语言设置。 - `-v`: 显示版本信息。 - `-A packet size`: 数据包大小。 - `-J client character set`: 客户端字符集。 - `-T text or image ...