+ -
当前位置:首页 → 问答吧 → 复杂的语法错误,请教...

复杂的语法错误,请教...

时间:2011-12-08

来源:互联网

SQL code

----'已发行' 附近有语法错误。

declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'
 
exec('EXEC master..xp_cmdshell 
''bcp "select top 10 * from Hitachi.dbo.Files where State='已发行'" 
queryout '+@FilePath+' -c -q -S"172.20.1.236" -U"sa" -P"sQl123+/e"''')


--select 语句加上where条件就出现语法错误,这个bcp后米娜的双引号是不能去掉的,所以就给我弄晕掉了...

--希望有经验的朋友帮忙尝试下,解决一下..





以上非常感谢...

作者: dygaalove   发布时间: 2011-12-08

SQL code
declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'
 
exec('EXEC master..xp_cmdshell 
''bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''" 
queryout '+@FilePath+' -c -q -S"172.20.1.236" -U"sa" -P"sQl123+/e"''')


作者: ssp2009   发布时间: 2011-12-08

引用 1 楼 ssp2009 的回复:

SQL code
declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'

exec('EXEC master..xp_cmdshell
''bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''"
queryout '+@FilePath+' -c -……


还是有错误呢..

作者: dygaalove   发布时间: 2011-12-08

declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'
 
exec('EXEC master..xp_cmdshell 
''bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''" 
queryout '+@FilePath+' -c -q -S"172.20.1.236" -U"sa" -P"sQl123+/e"''')

作者: fredrickhu   发布时间: 2011-12-08

什么错误?

作者: fredrickhu   发布时间: 2011-12-08

引用 3 楼 fredrickhu 的回复:

declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'

exec('EXEC master..xp_cmdshell
''bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''"
queryout '+@FilePath+' -c -q -S"……


小F,还是有错误.

作者: dygaalove   发布时间: 2011-12-08

引用 4 楼 fredrickhu 的回复:

什么错误?



'已发行' 附近有语法错误。


一直是语法的错误...

作者: dygaalove   发布时间: 2011-12-08

SQL code
declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'

print('EXEC master..xp_cmdshell 
''bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''" 
queryout '+@FilePath+' -c -q -S"172.20.1.236" -U"sa" -P"sQl123+/e"''')
--print出来看看哪里不对 
exec('EXEC master..xp_cmdshell 
''bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''" 
queryout '+@FilePath+' -c -q -S"172.20.1.236" -U"sa" -P"sQl123+/e"''')




作者: ssp2009   发布时间: 2011-12-08


估计是没有空格
SQL code
declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'

exec('EXEC master..xp_cmdshell 
'' bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行'' " 
queryout '+@FilePath+' -c -q -S"172.20.1.236" -U"sa" -P"sQl123+/e"''')

作者: ssp2009   发布时间: 2011-12-08

引用 7 楼 ssp2009 的回复:

SQL code
declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'

print('EXEC master..xp_cmdshell
''bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''"
queryout '+@FilePath+' -c -……

SQL code


EXEC master..xp_cmdshell 
'bcp "select top 10 * from Hitachi.dbo.Files where State='已发行'" 
queryout F:\Temp.xls -c -q -S"172.20.1.236" -U"sa" -P"sQl123+/e"'

消息 102,级别 15,状态 1,第 2'已发行' 附近有语法错误。



就这样子..

作者: dygaalove   发布时间: 2011-12-08

这样?SQL code
declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'
 
print 'EXEC master..xp_cmdshell 
''bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''
queryout '+@FilePath+' -c -q -S"172.20.1.236" -U"sa" -P"sQl123+/e"'''

作者: qianjin036a   发布时间: 2011-12-08

引用 8 楼 ssp2009 的回复:
估计是没有空格
SQL code
declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'

exec('EXEC master..xp_cmdshell
'' bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行'' "
queryout '+@FilePa……


加了空格还是语法有错误... 

 

作者: dygaalove   发布时间: 2011-12-08

引用 10 楼 qianjin036a 的回复:

这样?SQL code
declare @FilePath nvarchar(100)
set @FilePath='F:\Temp.xls'

print 'EXEC master..xp_cmdshell
''bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''
queryout '+@FilePath+' -c……


晴天大大的也是一样。

消息 102,级别 15,状态 1,第 2 行
'已发行' 附近有语法错误。

作者: dygaalove   发布时间: 2011-12-08

引用 4 楼 fredrickhu 的回复:

什么错误?


人呢??

'已发行' 附近有语法错误。

作者: dygaalove   发布时间: 2011-12-08

SQL code
declare @FilePath nvarchar(1000)
set @FilePath='F:\Temp.xls'  
set @FilePath='bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''" 
        queryout F:\Temp.xls -c -q -S"'+@FilePath+'" -U"sa" -P"sQl123+/e"'
EXEC master..xp_cmdshell @FilePath

作者: ssp2009   发布时间: 2011-12-08

引用 14 楼 ssp2009 的回复:

SQL code
declare @FilePath nvarchar(1000)
set @FilePath='F:\Temp.xls'
set @FilePath='bcp "select top 10 * from Hitachi.dbo.Files where State=''已发行''"
queryout F:\Temp.xls -c -q -S"'+@File……

用法: bcp {dbtable | query} {in | out | queryout | format} 数据文件
  [-m 最大错误数] [-f 格式化文件] [-e 错误文件]
  [-F 首行] [-L 末行] [-b 批大小]
  [-n 本机类型] [-c 字符类型] [-w 宽字符类型]
  [-N 将非文本保持为本机类型] [-V 文件格式版本] [-q 带引号的标识符]
  [-C 代码页说明符] [-t 字段终止符] [-r 行终止符]
  [-i 输入文件] [-o 输出文件] [-a 数据包大小]
  [-S 服务器名称] [-U 用户名] [-P 密码]
  [-T 可信连接] [-v 版本] [-R 允许使用区域设置]
  [-k 保留空值] [-E 保留标识值]
  [-h"加载提示"] [-x 生成 xml 格式化文件]
NULL

这个是什么问题??

作者: dygaalove   发布时间: 2011-12-08

这是语法没问题,但不能执行.

作者: qianjin036a   发布时间: 2011-12-08