SQL中BCP的使用注意事项

来源:互联网 发布:lol旧版英雄技能数据库 编辑:程序博客网 时间:2024/04/29 14:39

在SQL中,用到BCP.........QUERYOUT的时候,中间的内容决不允许有回车,因为这是在DOS下运行,会默认回车为换行。

 

SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS OFF
GO

 


ALTER    PROCEDURE ******
 @FilePath char(64),        /*文件地址*/
 @FileName    char(32),     /*文件名称*/
 @ResultCode   int    OUTPUT /* 错误数量*/
 
AS

SET NOCOUNT ON

/*********************/
/* declaration       */
/*********************/

DECLARE @Query varchar(4000)
DECLARE @Result int
DECLARE @BcpCommand varchar(100)
DECLARE @SQL varchar(1000)

/*********************/
/* initial           */
/*********************/

 
select  @ResultCode = 0
   
 
SET @Query=''
SET @Result=0
SET @BcpCommand = '-c -T -t,'
SET @SQL=''

 
/*********************/
/* mainly processing */
/*********************/

 

SET @SQL='SELECT  列名  FROM 表名 WHERE 条件 ORDER BY  列名'

 

SET @Query ='bcp "' + @SQL + '" queryout ' +RTRIM( @FilePath) + RTRIM(@FileName)+' '+ @BcpCommand
   
EXEC @Result = master..xp_cmdshell @Query

SELECT @ResultCode = @@ERROR
      
/*********************/
/* later processing  */
/*********************/

 


GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

 

原创粉丝点击