【问题标题】:SQL Server SSIS Export as XML Error: Name cannot begin with the '.' character, hexadecimal value 0x00. Line 1, position 40SQL Server SSIS 导出为 XML 错误:名称不能以“。”开头字符,十六进制值 0x00。第 1 行,位置 40
【发布时间】:2019-07-30 10:39:13
【问题描述】:

我正在使用 SQL Server 2014 和 SSIS。我有一个使用以下 SQL 命令输出到平面文件目标的 OLE DB 源 - 配置为另存为 .XML

这是我的 SQL:

DECLARE @XMLOutput XML
DECLARE @XMLOutputChar nvarchar(max)

;WITH XMLNAMESPACES('myNameSpace' as ns)

SELECT @XMLOutput =
(
SELECT field1 
FROM   table1 
    FOR XML PATH('Testing'),TYPE, ROOT('TestingLoader'),ELEMENTS XSINIL
)

SET @XMLOutputChar = '<?xml version="1.0" encoding="UTF-8"?>' + CONVERT(nvarchar(max),@XMLOutput)

SELECT @XMLOutputChar AS XMLOutput

但是,当我尝试将 XML 文件导入第 3 方应用程序时,我收到错误:

Name cannot begin with the '.' character, hexadecimal value 0x00. Line 1, position 40.

即使我尝试在 MS Word 中查看,我也会收到错误:

Unable to switch the encoding

这是因为我将其定义为 UTF-8 和 nvarchar(max) 吗?

谢谢。

【问题讨论】:

  • 尝试用Notepad++打开文件,查看->显示符号->全部,看看有没有字符
  • 我什么都看不到,没有
  • 第 1 行有什么值/字符?在第 40 位?
  • @Brad 使用 OP 的代码和我自己创建的临时表,我得到了 TestingLoader 根节点名称的 T&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;TestingLoader...
  • @Michael 你能告诉我们你是如何配置 OLE DB 源、数据流和平面文件目标的吗?

标签: sql-server xml ssis


【解决方案1】:

【讨论】:

  • 为什么不重写答案摘要,因为不建议写仅链接答案
猜你喜欢
  • 2012-05-17
  • 1970-01-01
  • 2021-06-26
  • 2019-10-25
  • 2017-12-25
  • 1970-01-01
  • 2011-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多