我们在VS2013中创建了一个数据库项目。我们添加了数据库结构它可以很好地发布和比较数据库。
现在,在发布时,我们希望自动加载几个包含默认数据的表,例如包含德语字母;
insert into @ReportGruppe1 values(507,'ID_507','Flüssigkeitsbilanz (24 Stunden)','CC_1_LeerVordrucke_A4_Hoch.lst', 'AP;PP', 1, 10, 1)
会发生什么; ü和其他德语字母被一些奇怪的字符替换为“?”在部署后脚本运行时,在黑色方块中。
当我直接在SQL Server Management Studio中运行相同的脚本时,一切都运行良好,因此它必须是项目的一些问题。有任何想法吗?如何处理这种情况?
答案 0 :(得分:1)
如果您可以通过mgmt控制台插入这些字符,那么列可能属于nvarchar
类型。
要通过脚本插入数据,您需要通过在N
前面添加前缀来标记字符串输入值als unicode:
N'Flüssigkeitsbilanz (24 Stunden)'
您的示例插入语句应如下所示:
insert into @ReportGruppe1 values(507,'ID_507', N'Flüssigkeitsbilanz (24 Stunden)', N'CC_1_LeerVordrucke_A4_Hoch.lst', 'AP;PP', 1, 10, 1)
检查列的数据类型,并为那些接受nvarchar
(或nchar
和其他unicode类型)的人处理输入。