SQLSERVER,不使用BCP,把查询结果输出为txt文本文件的存储过程

由于有些服务器上,数据库由于服务器安全问题,禁用了cmd_shell 不能用BCP进行查询结果文本化输出。

所以特写了个存储过程。用于生成文本文件

QUOTED_IDENTIFIER ANSI_NULLS ALTER PROCEDURE stp_ExportDataToTxt
/* ***********************************************************************
*                    Powered by Tang Ren (R)                           *
*                          2007-7-11                                   *
***********************************************************************
*/
@sqlstr nvarchar @path nvarchar 文件保存文件夹 @fname nvarchar 文件保存名字 Define variable declare @strPath varchar 文件保存的地址 declare @colsCount declare DECLARE @object DECLARE SQLSERVER,不使用BCP,把查询结果输出为txt文本文件的存储过程由于有些服务器上,数据库由于服务器安全问题,禁用了cmd_shell 不能用BCP进行查询结果文本化输出。所以特写了个存储过程。用于生成文本文件SET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GOALTER  PROCEDURE stp_ExportDataToTx
SQL Server里可以调用DOS下的命令行工具 bcp 来实现把表里的数据或者 SQL 语句结果生成 文本文件 BCP 命令的参数格式: 代码如下: BCP {dbtable | query} {in | out | queryout | format} data file [-m maxerrors]      [-f format file ]     [-e err file ] [-F firstrow]       [-L lastrow]       [-b batchsize] [-n native type]     [-c character type]   [-w wide chara
select A.STATUS, (CASE BAPP.STATUS WHEN 1 THEN '喜欢' WHEN 2 THEN '不喜欢' WHEN 3 THEN '讨厌' END) AS STATUSSTR, o sql -S"127.0.0.1" -U"sa" -P"sa" -d"run" -q"SELECT * FROM [kbss].[d].[list]" -o d:\aaa. txt 或 o sql -S"127.0.0 import java. sql .Connection; import java. sql .PreparedStatement; import java. sql .ResultSet; import java. sql . SQL Exception; * 根据DBConfig.properties 文件 中内容 导出指定表到硬盘目录 public class ExportTable { private String DBName = "
SQL Server的 bcp 工具可以 使用 格式 文件 来对导入和导出数据进行限制。格式 文件 以纯 文本文件 的形式存在,分为一般格式和XML格式。用户可以手动编写格式 文件 ,也可以 使用 bcp 命令根据表或视图自动生成格式 文件 。 在 bcp 格式 文件 中,每一行代表一个字段, 使用 制表符分隔字段属性。常见的字段属性包括字段序号、字段名称、数据类型、数据长度、字段分隔符等。例如,"2 SQL CHAR 0 100 "\t" 2 Name SQL _Latin1_General_CP1_CI_AS"表示第2个字段的数据类型是 SQL CHAR,长度为100,字段分隔符是制表符,字段名称为Name,字符集为 SQL _Latin1_General_CP1_CI_AS。