当前位置: 代码迷 >> Sql Server >> 请高手帮忙解决?解决思路
  详细解决方案

请高手帮忙解决?解决思路

热度:90   发布时间:2016-04-27 19:53:10.0
请高手帮忙解决?
以下的SQL语句执行总是有错:

declare   @sql   varchar(130)
declare   @ADate   DATETIME
set   @ADate   =   CONVERT(VARCHAR(10),GETDATE()-4,120)
set   @sql   =   'bcp   "EXECUTE   eHReOAData.dbo.eHR_MJDataDailyReport_V2   ADate "   queryout   D:\MJ_DailyData\ '+CONVERT(VARCHAR(10),getdate()-4,112)+ '.txt   -c   -S172.21.128.110   -Usa   -P '
EXEC   master..xp_cmdshell   @sql

提示以下错误:
Error   =   [Microsoft][ODBC   SQL   Server   Driver][SQL   Server]Error   converting   data   type   nvarchar   to   datetime.

可是以下的SQL却是可以执行的:

declare   @ADate   DATETIME
set   @ADate   =   CONVERT(VARCHAR(10),GETDATE()-4,120)
EXECUTE   eHReOAData.dbo.eHR_MJDataDailyReport_V2   @ADate

------解决方案--------------------
declare @sql varchar(130)
declare @ADate varchar(20)
set @ADate = CONVERT(VARCHAR(10),GETDATE()-4,120)
set @sql = 'bcp "EXECUTE eHReOAData.dbo.eHR_MJDataDailyReport_V2 ' ' '[email protected]+ ' ' ' " queryout D:\MJ_DailyData\ '+CONVERT(VARCHAR(10),getdate()-4,112)+ '.txt -c -S172.21.128.110 -Usa -P '
EXEC master..xp_cmdshell @sql
  相关解决方案