【发布时间】:2011-10-07 17:48:06
【问题描述】:
我为这篇长文道歉,但这个问题并不容易说明。
我最近写了一段 Java 来为同事重新配置一些 SSIS 包,使用 jdom 来解析和操作 XML。该程序有效,但生成的文件崩溃了。我们能够将崩溃追溯到原始文件中的一个奇怪的大部分非打印字符,该字符在 jdom 编写的文件中没有重现。
这个角色的奇怪之处在于它并没有出现在所有编辑器中。例如,Oxygen XML 编辑器甚至看不到它。但是,在记事本中,原始版权声明是这样的:
<DTS:Property DTS:Name="TaskContact">Execute SQL Task; Microsoft Corporation; Microsoft
SQL Server v9; © 2004 Microsoft Corporation; All Rights
Reserved;http://www.microsoft.com/sql/support/default.asp;1</DTS:Property>
和同一元素的转换版本:
<DTS:Property DTS:Name="TaskContact">Execute SQL Task; Microsoft Corporation; Microsoft
SQL Server v9; © 2004 Microsoft Corporation; All Rights
Reserved;http://www.microsoft.com/sql/support/default.asp;1</DTS:Property>
(问题字符是版权符号前面的 Â)
在有问题的包上运行全局替换,其中 Â -> "" 和 © -> "(c)" 使问题消失了,但现在事实证明,当放置未修改的元素时问题又回来了进入修改后的包,所以现在我不确定问题的根源是什么。
再次,我很抱歉这篇长文,但我不想遗漏任何细节。任何见解或建议将不胜感激;我很困惑。
我的同事会在尝试加载这些内容时向我发送错误消息,如果它们有用,我可以发布它们。
【问题讨论】:
-
你通过 jdom 在 SSIS 中重新配置了什么?
-
我正在为数据仓库重新调整一堆 dtsx 包,帮助 DB 团队清理。具体来说,规范化一些元素名称并插入缺失的元素,其组成可以通过编程方式确定。
-
啊,我本来打算建议看看PacMan,但听起来你已经熟悉对象模型了。