【问题标题】:SSIS 2005 problems importing to nvarchar(max)导入到 nvarchar(max) 的 SSIS 2005 问题
【发布时间】:2012-09-10 18:57:25
【问题描述】:

我有一些 XML 文件,我每周都会从其中一个系统导入这些文件。 XML 中的四段数据的长度范围为 450 到 650 个字符。我已经尝试了所有我能想到的方法,但它们总是在 255 个字符左右被截断。我尝试将着陆列设置为 nvarchar(max)、varchar(max)、varchar(1000) 和 varchar(600),但这些都不起作用,我仍然得到相同的截断。我检查了 XML 文件,那里的数据看起来不错。所有其余的数据都没有截断 - 只有这四个项目有问题。我确实发现谷歌搜索 SSIS 认为 nvarchar(max) 和 varchar(max) blob 字段,所以我认为这就是为什么它们不能正常工作 - 但其他人呢??

【问题讨论】:

  • 你如何直接从文件系统导入数据,通过什么样的驱动程序从另一个数据库导入数据?等等。
  • 所以您要分割 XML 并将单个元素值放入数据库字段中?对吗?
  • @ Rawheiser - 我正在从磁盘上包含 XML 数据的文本文件中导入。我在 SSIS 包中使用 XML 源对象和 OLDB 目标对象。我有大约 7 个包,除了这个问题之外,它们都运行良好。
  • @Ann L. - 有点。我没有将其切片,而是使用 XML Source 对象将其映射到 SSIS 包中的 OLDB Destination 对象

标签: sql-server-2005 ssis


【解决方案1】:

在您的数据流屏幕中:

  1. 查看您的 XML Source 对象。右键单击它并选择高级编辑器。

  2. 转到“输入和输出属性”选项卡

  3. 展开节点,直到您看到标记为“外部列”和“输出列”的文件夹。

  4. 展开这些。您可能会发现其中设置了 255 个字符长度。

【讨论】:

  • 不进行转换。使用 XML Source 对象连接到 OLDB 数据库对象并将 XML 元素映射到表列。 XML 源对象有一个 XSD 文件作为其参数之一。
  • 您使用的是哪种控制流对象?数据流?
  • 是的数据流。那是源对象和目标对象所在的位置。
  • 好的,我已经启动了 SSIS 并修改了我的答案。当我说“转换”时,我指的是数据流;很抱歉造成混乱。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-10
  • 2017-09-26
  • 1970-01-01
  • 2011-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多