我有一个数据电子表格,基本上是 PART_ID 和 SPECS。SPECS 字段是一个大字符串,当导入到临时表中时,它被存储为 NVARCHAR(255)。
例子:
'小部件', '这部分需要加热到400度才能切割。'
我们的 ERP 系统必须进入的最终表将 SPECS 存储为二进制字段。
如果我执行以下操作,我会得到二进制转换:
INSERT INTO ERP_PART_TABLE (PART_ID, SPEC)
SELECT PART_ID, CONVERT(VARBINARY(MAX), SPEC) FROM TEMP_TABLE;
然而,当我进入 ERP 系统时,我看到的只是第一个字符,然后我得到一个提示,告诉我系统遇到了一些奇怪的字符。
我在过去使用不同转换格式的转换中看到了这一点,例如:
INSERT INTO ERP_PART_TABLE (PART_ID, SPEC)
SELECT PART_ID, CONVERT(VARBINARY(MAX), SPEC, 1) FROM TEMP_TABLE;
但是,当我尝试使用该格式化转换进行选择时,我得到
“消息 8114,级别 16,状态 5,行 1 将数据类型 nvarchar 转换为 varbinary 时出错。”
我已经尝试过TRY_CONVERT(varbinary(max), bits, 1)
,结果始终为 NULL。
我的原始文本字段中是否可能有一些我没有看到的特殊字符?(只是为了测试,我也试过了selecting CONVERT(VARBINARY(MAX), 'Hello',1)
,我仍然得到错误。)
SQL*服务器 2012。