具有较少列的平面文件连接的 SSIS pkg 将失败

2023-12-07

假设有一个平面文件 F1.txt、Column MyCol1 和包 Pkg1 将所述文件加载到 SQL Server。

没问题吧?正确的。

现在假设有一个平面文件 F2.txt、Columns MyCol1、MyCol2 和相同的包 Pkg1 将所述文件加载到 SQL Server。

我们将对 Pkg1 和 presto 进行一些调整 - 它像梦一样加载 F2.txt。

现在我们给它提供 F1.txt,这就是事情恶化的地方。

顺便说一句,这并不局限于平面文件,而是具有更普遍的性质。

欢迎有关如何在同一包中运行遗留数据的任何建议。

TIA

Peter


看起来你这里有两个问题。首先是了解如何使用连接管理器。对于平面文件输入,通常可以通过为每个文件布局创建一个连接管理器来为您提供更好的服务。文件 1 看起来像 (Column1),文件 2 看起来像 (Column1, Column2)?这意味着需要定义 2 个不同的平面文件连接管理器。

如果您有 2 个版本的文件 2,其中一个版本的 Column1 包含数字,另一个版本的 Column1 包含字符数据,则这些版本将需要 2 个唯一的连接管理器(总共 3 个)。

与上述相关的好消息是文件名更改很简单,并且不需要创建唯一的连接管理器。 F1.txt、F1_20120501.txt、F1.good.txt 等都将由您为该布局定义的连接管理器提供服务。您只需使用给定连接管理器的 ConnectionString 属性上的表达式即可在运行时更新当前包。

现在您已经拥有了所有这些平面文件连接管理器,您需要使用它们。这种魔力发生在数据流任务中。数据流对于其中使用的元数据非常挑剔。当您设计数据流时,您正在与 SSIS 签订合同,如果您尝试通过将字符字段设置为日期字段或不提供所有列来违反该合同,则该包将无法通过验证检查,因为您没有持有完成你的讨价还价。解决这个问题的方法是,您再次需要围绕包所需的各种连接管理器定义多个数据流。

定义完所有内容后,您只需要一个协调器来查看源文件以确定应执行哪个数据流。我就这个问题提供了一个例子创建 SSIS 包以从多个数据源之一导入

还有一个类似的问题,我提出了一个可能感兴趣的解决方案SSIS 任务导入不一致的列数?这实际上取决于您的处理规则。

如果您尝试在 SSIS 包中合并/重用业务逻辑,那么我会寻找一种使用各种数据流将离散源暂存到单个数据存储中的方法(原始文件、具有大量空列的暂存表等) )。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有较少列的平面文件连接的 SSIS pkg 将失败 的相关文章

  • 使用 biml 分配属性以执行包任务 ssis 对象

    使用 biml 通过 Visual Studio 中的 BIDS 帮助程序 如何为 SSIS 2008 执行包任务对象的属性赋值 特别是 位置 SQL Server 连接 SomeConnectionString 使用 BIML 我已经搜索
  • SSIS 包损坏,错误为 0xC00CE504

    我有一个损坏的 SSIS 包 并显示错误消息 由于错误 0xC00CE504 名称以无效字符开头 第 13 行第 2 列 无法加载 XML 当加载包并且文件无法打开或无法正确加载到 XML 文档时会发生这种情况 这可能是由于向 LoadPa
  • SSIS 错误 - 包中的版本号无效

    失败作业对应的日志如下 2014 年 4 月 11 日 06 40 00 LPR New 错误 0 USPHND0088 LPR New 作业 结果 作业失败 该作业由 Schedule 14 调用 LPR New Job 最后运行的一步是
  • 如何在 SSIS 变量中存储“完全限定”和“仅名称”文件名

    我有一个 SSIS 包 其中有一个 Foreach 循环容器 加载静态文件夹中的所有 txt 文件 我将完全限定的文件名作为在连接字符串中使用的变量传递 我现在只需将文件名传递给一个变量以用于执行存储过程 问题是如果我将 Foreach 循
  • SSIS Forloop:根据迭代次数为变量名称赋值

    我正在尝试使用 For 循环容器为最多 10 个不同的变量赋值 变量1 变量2 变量10 基于迭代次数 我需要循环根据一个变量迭代一定次数 该变量已根据查询的结果集分配了一个整数值 该部分工作得很好 我不知道如何告诉 for 循环使用哪个变
  • 在SSIS中导入已合并单元格的Excel

    我的问题是在读取合并 组合列单元格的 Excel 文件时 例如 将下面的excel数据读取到数据库中 Excel 输入 ID NAME DEPT FNAME LNAME 1 Akil Tiwari IT 2 Vinod Rathore IT
  • 在非 SSIS 服务器上运行 SSIS 包时出现错误[重复]

    这个问题在这里已经有答案了 我正在 SSDT 2012 中工作 我创建了一个 DTSX 包 并将其部署到未安装 SSIS 的 SQL Server 我的理解是这应该有效 但是我不断收到以下错误 要在 SQL Server Data Tool
  • Foreach 循环编辑器中缺少枚举器

    我在一台新笔记本电脑上 在 Visual Studio 2015 中的 SQL Server Integration Services 包上工作 在以前版本的 Visual Studio 中 枚举器配置部分中有几个选项 如下所示 在 VS
  • Attunity 连接器未显示在 VS 2017、SQL Server 2017 的 SSIS 中

    我看过 VS 2015 的这篇文章 但没有看过 VS 2017 的文章 我已经测试了 Visual Studio 2017 SSDT Enterprise 和 Professional 以及 SQL Server 2017 我遵循了该帖子h
  • 在 SSIS 流中使用临时表失败

    我有一个 ETL 过程 可将约 40 个表从源数据库 Oracle 10g 提取到 SQL Server 2014 开发人员版 临时环境 我的提取过程 确定暂存中的最新行 从源中选择所有较新的行 将结果插入 TEMPTABLE 将 TEMP
  • SSIS ForEach File 循环 - 将文件名插入表

    我正在构建一个 SSIS 包 使用 VS 2017 来从特定文件夹加载一堆 CSV 文件 使用 ForEach File 循环效果很好 数据流任务具有平面文件源和 OLE DB 目标 我希望能够将文件名以及 CSV 文件中的数据保存在同一个
  • SSIS:如何将项目连接管理器移动到包中

    我有一个 2012 SSIS 项目 其中在项目级别定义了许多连接管理器 该项目还包括许多引用这些连接管理器的包 现在我想将我的项目转换为部署模型 但向导指定我需要删除项目中的连接管理器 这意味着将连接管理器移动到包中 如何将项目级连接管理器
  • SSIS - 将参数传递给 ADO .NET 源查询

    我知道早些时候已经有人问过这个问题 大多数答案都不相关 谷歌了一下 显示解决办法是在 数据流任务 中配置表达式并设置查询 然而 在 ADO NET 源中 当我尝试预览输出时 我不断收到 Must declare the variable 它
  • 从 PowerShell 运行 SSIS 包,无需部署项目

    This https learn microsoft com en us sql integration services ssis quickstart run powershell view sql server ver16 ssis
  • 在 SSIS 2012 中为 Oracle CLOB 转换 DT_TEXT

    我正在使用 SSIS 2012 我有一个带有 DT TEXT 类型的输出列的脚本组件 它是来自网页的 XML 我有一个 OLE DB 目标 使用 OLE DB 的本机 OLD DB Oracle 提供程序 并且该字段的表定义为 CLOB 这
  • 覆盖SSIS环境变量

    我已经设置了一个包配置 其中配置类型为 间接 XML 配置文件 环境变量指向的位置C SSIS MasterConfig MasterConfig dtsConfig file 这非常有效 并且可以轻松地从测试迁移到 UAT 再到生产 问题
  • 保护级别在项目中更改 - 现在项目将无法构建

    启动了一个新的 SSIS 项目 忘记将默认保护级别设置为 不保存敏感 我们的标准 现在在项目进行到一半时进行了更改 在项目级别和每个包中 检查时 所有包都已不要保存敏感并且该项目是不要保存敏感 但是在尝试构建时 我得到 项目一致性检查失败
  • 如何在 SSIS 脚本任务中传递自定义对象列表?

    我有一个脚本任务 它创建自定义对象列表并将它们设置为 SSIS 对象变量 定制类 public class Dog public string Name get set 用于填充列表并设置为 SSIS 对象变量 myDogs 的代码 pub
  • 年函数不支持 dt_wstr

    我无法使用下面的代码应用转换 出现错误 年函数不支持 dt wstr 我使用的表达式是 DT I4 DT WSTR 4 YEAR fisc wk end dt RIGHT 0 DT WSTR 2 MONTH fisc wk end dt 2
  • Amazon RDS for SQL Server 是否支持 SSIS?

    从谷歌搜索中读到一些相互矛盾的答案 不确定答案是是 否还是可能 我觉得读的时候已经很清楚了this http docs aws amazon com AmazonRDS latest UserGuide CHAP SQLServer htm

随机推荐

  • Soap xml 响应使用 xsd 文件进行验证

    using https www freeformatter com xml validator xsd html 如果我在响应和模式中完全将soapenf从混合中取出 它可以正常工作 但我想两者兼而有之 仅供参考 我想指出此 wsdl 和
  • C# Windows 应用程序访问数据库数据在关闭时不会保留

    我正在使用 C 创建一个 Windows 应用程序 通过该应用程序访问一个空的 Access 数据库 其中包含两个表 省份和位置 我正在处理仅处理 Provinces 表的表单 如下所示 这是一个子表单 当它打开时 我可以插入 更新记录等
  • 在 C# 中使用 file.move 重命名新文件

    我对编码非常陌生 我正在编写一个将重命名文件的应用程序 通过将毫秒附加到已从 MFD 扫描的文件的现有文件名中 该文件夹是共享文件夹 重命名的文件应保留在其中 而不是复制到其他地方 通过大量搜索 我知道 File Move 是我前进的方向
  • 如何在不同主机之间移动 Docker 容器?

    我找不到将运行 docker 的容器从一台主机移动到另一台主机的方法 有什么方法可以将我的容器推送到存储库 就像我们对图像所做的那样 目前 我没有使用数据卷来存储与容器内运行的应用程序关联的数据 因此 一些数据驻留在容器内 我想在重新设计设
  • 解释“if”函数中的“条件长度> 1”警告

    我有一个数组 a lt c 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0
  • Android:覆盖 Android 相机预览

    我正在使用相机 API 并调用相机 我想在相机预览的顶部显示标题 用于品牌 标题是 jpeg 图像 是否可以 任何帮助表示赞赏 提前致谢 我的代码如下 public class CameraActivity extends Activity
  • git format-patch < 自上次 svn rebase 以来的所有内容 >

    我正在尝试将自上次推送到 svn 服务器以来的所有更改合并为一个大补丁 我可以通过电子邮件发送给我的同事进行审查 我可以这样做吗git format patch 你可以使用git format patch origin master获取自当
  • 闭源程序集“无法验证的代码未通过策略检查”

    我试图在 MSI 安装例程期间从 C 程序中的资源流动态加载一些 购买的 程序集 但我收到 无法验证的代码未通过策略检查 我在线阅读了一些有关使用 clr safe 编译嵌入式程序集的提示 但我没有该选项 有没有办法绕过这个政策检查 Tha
  • Vue.js Router:组件准备就绪时运行代码

    我正在使用 Vue js 及其官方路由器开发一个单页应用程序 我使用路由器加载的每个部分都有一个菜单和一个组件 vue 文件 在每个组件中我都有一些与此类似的代码
  • React Native 和 iOS 模拟器的地理位置错误

    我正在使用react native maps 并使用react native api 进行地理定位 当我通过 API 使用位置时 模拟器上返回的结果显示我在旧金山 而不是我所在的科罗拉多州丹佛市 是否有原因导致我的位置无法显示我所在的位置
  • 使用纯js获取具有特定类的单击元素的下一个元素

    我试图通过以下方式获取具有特定类的第一个元素 该类遵循使用纯 JS 无 JQuery 单击的元素 但 get el nextSibling 不是函数错误 最初我使用的是 JQueryparents next 但想用纯 JS 来做到这一点 c
  • JavaScript 凸面形状上的墙壁碰撞,卡在角落

    这是另一个问题的后续 如何处理玩家与墙角的碰撞 在给出的代码的启发下它的答案 我尝试编写一些新代码 基本上 在原版中 墙壁滑动在墙壁内部效果很好 但我想让它在外部也起作用 所以我根据他的技术制作了一个新的基本代码引擎 var aD var
  • 冲突时,在具有非空约束的 Postgres 中不执行任何操作

    是否不可能利用 ON CONFLICT DO NOTHING 来避免插入和违反非空约束 例如 INSERT INTO public users user user yob sex SELECT mom mom yob F FROM stag
  • Bash 工具从文件中获取第 n 行

    有没有一种 规范 的方式来做到这一点 我一直在使用head n tail 1这确实有用 但我一直想知道是否有一个 Bash 工具专门从文件中提取一行 或一系列行 我所说的 规范 是指一个主要功能就是这样做的程序 head和管道与tail对于
  • 按下菜单按钮后如何将 Apple TV 应用置于后台

    我尝试使用私有方法在按下菜单按钮后将应用程序置于后台 并且以下代码可以正常工作 implementation ViewController UITapGestureRecognizer tapRecognizer void viewDidL
  • Python Seaborn Ridge Plot 教程不起作用

    如果我复制粘贴上给出的示例希博恩网站为了制作 岭图 代码在两个不同的点上失败了 import numpy as np import pandas as pd import seaborn as sns import matplotlib p
  • Git:默认所有文本文件为 unix 换行符

    我知道 gitattributes 中有设置 txt eol lf 还有一个方法是让所有文本文件默认进行转换 text auto 然而 当我尝试将所有文 本文件作为 unix 行结尾时 我注意到这没有任何作用 text lf 这也改变了二进
  • 查询获取最近 7 天的有效信息

    我有一个表 xx asg Effective start date Effective end date Person number 03 jan 2016 31 DEC 4712 12 20 Feb 2015 02 Jan 2016 12
  • 在 Eclipse 中创建简单的 JAX-WS WebService

    我正在尝试在 Eclipse 中创建一个简单的 Web 服务 首先我创建了一个空的java项目并在src文件夹中添加了以下三个文件 问候语 java package com alfaisaliah import javax jws WebS
  • 具有较少列的平面文件连接的 SSIS pkg 将失败

    假设有一个平面文件 F1 txt Column MyCol1 和包 Pkg1 将所述文件加载到 SQL Server 没问题吧 正确的 现在假设有一个平面文件 F2 txt Columns MyCol1 MyCol2 和相同的包 Pkg1