我在Visual Studio 2013中有一个SSDT 2014 SQL Server数据库项目。它以Sql Server 2008为目标。有一个存储过程,其中包含批量插入语句。该语句绝对有效,但SSDT报告错误 SQL46010 - 语法错误。
陈述是:
BULK INSERT #tmp
FROM 'C:\Imports\BulkyFile.txt'
WITH (FIRSTROW = 2, FIELDTERMINATOR = '|', KEEPNULLS, ROWTERMINATOR = '\n', CODEPAGE='850')
显然SSDT认为' 850 '不是有效的。如果我将代码页更改为' ACP'一切都很好:
BULK INSERT #tmp
FROM 'C:\Imports\BulkyFile.txt'
WITH (FIRSTROW = 2, FIELDTERMINATOR = '|', KEEPNULLS, ROWTERMINATOR = '\n', CODEPAGE='ACP')
是否有针对SSDT的设置或其他内容,以便它除了CODEPAGE的数字外?另请参阅https://msdn.microsoft.com/en-us/library/ms188365.aspx。
答案 0 :(得分:0)
此问题似乎没有解决方法。所以我发布了SQL Server团队的错误:https://connect.microsoft.com/SQLServer/feedback/details/1177490
请投票赞成; - )