当前位置:  数据库>sqlserver

SQL Server利用bcp命令把SQL语句结果生成文本文件

    来源: 互联网  发布时间:2014-10-10

    本文导语:  在SQL Server里可以调用DOS下的命令行工具bcp来实现把表里的数据或者SQL语句结果生成文本文件。 BCP命令的参数格式: 代码如下: BCP {dbtable | query} {in | out | queryout | format} datafile [-m maxerrors]      [-f formatfile]     [-e err...

在SQL Server里可以调用DOS下的命令行工具bcp来实现把表里的数据或者SQL语句结果生成文本文件。
BCP命令的参数格式:
代码如下:

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"]

但命令行下面的操作在传递变量上不太灵活,我参照 CSDN里邹健写File2Table的例子,
写了一个把SQL语句结果生成文本文件的系统存储过程 sp_sql_query_to_file.sql:
代码如下:

/***************************************************************************
// 说明 : 根据SQL语句生成文本文件 (带日期戳,字段用逗号,分隔)
//   SQL语句里所有出现的表名要用 [数据库名].[用户名].[表名] 来详细标记
// 创建 : maggiefengyu 邮件 : maggiefengyu@tom.com 日期 :2006-03-03
***************************************************************************/
create PROCEDURE sp_sql_query_to_file(
@servername varchar(50), --服务器名
@username varchar(50), --用户名,如果用NT验证方式,则为空''
@password varchar(50) , --密码
@sql_query varchar(2000) , --SQL查询语句,有字符条件时用单引号
@filePath_name varchar(1000), --导出路径和文件名
@date datetime --保存文件时的生成日期戳
)AS
DECLARE @sql varchar(8000)
SET @sql='bcp "'+@sql_query + '" queryout '+' "'+@filePath_name+'_'+
convert(varchar(12),@date,112)+'.txt " /t "," /w'
+' /S '+@servername
+CASE WHEN ISNULL(@username,'')='' THEN '' ELSE ' /U '+@username END
+' /P '+ISNULL(@password,'')
select @sql
EXEC master..xp_cmdshell @sql
IF @@Error0 BEGIN
print '生成文件时出错了,请查看!'+@@Error
END
GO

    
 
 

您可能感兴趣的文章:

  • mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • Mysql增加主键或者更改表的列为主键的sql语句
  • sql语句实例 取得日志条目的sql语句
  • Mysql下在某一列后即表的某一位置添加新列的sql语句
  • SQL Server统计SQL语句执行时间的脚本
  • sql语句实例 统计页面链接的sql语句
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • Mysql增加主键或者更改表的列为主键的sql语句 iis7站长之家
  • C#中验证sql语句是否正确(不执行语句)
  • SQL Server数据库的修复SQL语句
  • SQL 语句拦截 P6SPY
  • C#使用带like的sql语句时防sql注入的方法
  • t-sql/mssql用命令行导入数据脚本的SQL语句示例
  • 在SQL Server的try...catch语句中获取错误消息代码的的语句
  • sql2005创建远程登录帐户的sql语句分享
  • SQL SERVER 查询正在实行的SQL语句
  • SQL语句中含有乘号报错的处理办法
  • sql无效字符引起的执行sql语句报错的解决方法
  • C#代码验证sql语句是否正确(只验证不执行sql)的方法
  • SQL Server中选出指定范围行的SQL语句代码
  • 根据Hibernte的cfg文件生成sql文件
  • 为什么用sqlserver生成的创建表的sql语句中都不包含主键信息???
  • 怎么写一个Shell来执行这样的功能,访问Oracle数据库,然后执行一个SQL脚本,生成一个文件。急!
  • 根据DB生成JAVABEAN及SQL的小工具 db2java
  • 用 SQL 语句生成图表 ChartSQL
  • 生成300个不同的随机数的SQL语句
  • 太奇怪了,难道weblogic不能生成可以滚动的sql对象吗??送60分!!
  • oracle使用sql脚本生成csv文件案例学习
  • 如何将excel文件字段生成sql语句
  • 自动生成卡号与密码的sql语句
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • java命名空间java.sql接口rowid的类成员方法: tostring定义及介绍
  • sql2005 大数据量检索分页的sql代码
  • java命名空间javax.sql.rowset接口joinrowset的类成员方法: getwhereclause定义及介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?
  • java命名空间java.sql接口statement的类成员方法: execute定义及介绍
  • 安装SQL2008时提示删除SQL2005Express工具的解决方法
  • java命名空间java.sql接口resultset的类成员方法: getcursorname定义及介绍
  • 创建 sql server 链接服务器的sql代码
  • java命名空间java.sql接口resultsetmetadata的类成员方法: getcolumntype定义及介绍
  • import Java.sql.*; 报错包 Java.sql 不存在?请帮帮我!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3