SQLCMD仅返回列的前256个字符
问题描述:
FOR /f "delims=" %%a IN ('"%SQLCMD%" -E -S %Server% -d %DestDb% -h-1 -i GetResult.sql') do (
SET Result=%%a
)
ECHO "%Result%"
%结果%设置为实际结果的前256个字符。SQLCMD仅返回列的前256个字符
有没有一种方法可以得到查询的整个输出?
答
默认情况下,SQLCMD将可变长度列限制为256。 -y 0参数解决了这个问题。
FOR /f "delims=" %%a IN ('"%SQLCMD%" -E -S %Server% -d %DestDb% -y 0 -i GetResult.sql') do (
SET Result=%%a
)
ECHO "%Result%"
-h和-y参数是互斥的,所以-h-1不得不被删除。