2010-08-27 62 views
0

我正在開發一個SSIS包,用於將XML文件中的數據添加到現有的SQL Server表中。我已經完成了幾個類似的項目,但在這個XML文件,我得到的錯誤從數據流標籤中的XML任務和數據流任務之間:XML任務錯誤消息十六進制無效字符

Error: 0xC002F304 at XML Task, XML Task: An error occurred with the following error message: 
"'', hexadecimal value 0x15, is an invalid character. Line 28, position 54.". 
Error: 0xC002928F at XML Task, XML Task: Property "New Source" has no source Xml text; 
Xml Text is either invalid, null or empty string. 
Task failed: XML Task 
Warning: 0x80019002 at zSTU_TS_Element: SSIS Warning Code DTS_W_MAXIMUMERRORCOUNTREACHED. The Execution method succeeded, but the number of errors raised (2) reached the maximum allowed (1); resulting in failure. This occurs when the number of errors reaches the number specified in MaximumErrorCount. Change the MaximumErrorCount or fix the errors. 
SSIS package "zStu_TS_Element.dtsx" finished: Failure. 

你知道我怎麼能解決這個問題?

這是它是從我的XML文件指的是行:

<z:row c0='12' c1='80' c2='2006-04-17' c3='539' c4='1M2083N4N5N6N75800901110 11 '/> 

回答

1

這是沒有錯的。字符'U + 0015否定確認'(0x15,ASCII 21)是不能放入XML 1.0文件的控制碼。您擁有的XML文件格式不正確(因此不是真正的XML文件);嘗試在任何其他XML閱讀器(例如IE)中打開它,你應該得到相同的錯誤。

您需要使用文本編輯器從文件中篡改該字符,並查看產生它的任何破解源文件。

(不幸的是我們看不到這個字符貼在這裏,因爲它是一個通常無形的控制代碼,StackOverflow可以過濾出來,但是一個好的文本編輯器應該能夠顯示某種標記。錯誤中的列號表明它在c4屬性值的開始處,儘管這不一定可靠。)

+0

THanks!我只是研究了我自己和你的正確。我研究了一些關於XML 2.0的內容,但它似乎並不支持這個特性。你能證實嗎? – salvationishere 2010-08-27 16:16:08

+0

XML 1.1允許字符,但只能編碼爲字符引用,例如。 ''。這樣做的目的很少。目前XML 2.0並不存在,它只是被刪除XML的遺留問題而被啓動的想法。 – bobince 2010-08-27 16:34:06

+0

太棒了!非常感謝! – salvationishere 2010-08-27 16:37:44

相關問題