【发布时间】:2016-10-18 19:13:54
【问题描述】:
我正在尝试在 SQL Server 2016 中运行动态 SQL,如下所示:
declare @SQL varchar(MAX);
set @SQL='SELECT top 1 * INTO Table 1 FROM
OPENROWSET(''Microsoft.ACE.OLEDB.12.0'', etc... (string aprox. 450 char)
EXECUTE sp_executesql @SQL;
由于某种原因,变量 @SQL 被截断为 256 个字符。我已经按照下面文章中的说明修改了一些 SQL Server 查询设置,但没有结果。见:
您能否提供建议,不确定我缺少什么,我之前使用的 SQL Server 2008 中没有发生这种情况。 SQL Server 2016 中是否有任何其他设置?
【问题讨论】:
-
sp_executesql使用nvarchar,你应该这样声明@sql,还有SET @sql = N'.... -
谢谢,这就是解决方案!如何标记正确答案?
标签: sql sql-server sql-server-2016