繁体   English   中英

BCP 从 SQL 写入到 .txt 文件的问题

[英]Problem with BCP writing to .txt file from SQL

我正在使用 Sql2008 尝试运行此 BCP 命令,但它从未创建文件。

-- Export query
  DECLARE @qry2 VARCHAR(1000)
  SET @qry2 = 'SELECT * FROM @SkippedProductsTable'

  -- Folder we will be putting the file in         
  DECLARE @incomingfolder VARCHAR(1000)
  SET @incomingfolder = 'c:\Logs'

  DECLARE @bcpCommand VARCHAR(2000)
  SET @bcpCommand = 'bcp "'+@qry2+'" queryout "'+@incomingfolder+'\SkippedProducts-'+CAST(@StoreMatchCode AS VARCHAR)+'-'+'.txt" -c -T'

  PRINT @bcpCommand
  EXEC MASTER..xp_cmdshell @bcpCommand, no_output

创建的命令如下所示:

bcp "SELECT * FROM @SkippedProductsTable" queryout "c:\Logs\SkippedProducts-1330-.txt" -c -T

谁能建议可能出了什么问题? 我以前从未使用过 BCP,也不确定从哪里开始寻找。

首先,我知道该文件夹肯定存在于该位置

我认为问题是SELECT

您是来自未在查询中声明的表变量的SELECT ,因此 BCP 无事可做。

表变量仅在调用它们的上下文中持续存在,因此即使您在查询中有一个,并且在第一个查询中有动态 sql 或子进程,它们也无法看到表变量。

有关更多信息,请参阅此内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM