首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-04-11 
请高手帮忙解决?以下的SQL语句执行总是有错:declare@sqlvarchar(130)declare@ADateDATETIMEset@ADateCONV

请高手帮忙解决?
以下的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 ' ' '+@ADate+ ' ' ' " queryout D:\MJ_DailyData\ '+CONVERT(VARCHAR(10),getdate()-4,112)+ '.txt -c -S172.21.128.110 -Usa -P '
EXEC master..xp_cmdshell @sql

热点排行