ssis xml 配置 - 配置覆盖包 - ssis 是否会在您不通知的情况下更改配置?

2023-12-14

昨天我工作了一整天,试图消除 XML 配置文件中错误连接字符串的影响。我检查了每个包,删除了有问题的连接管理器并使用正确的服务器名称重新添加它。每次我这样做时,我都会通过删除它来显式更新配置,然后使用覆盖选项重新添加它。但后来我犯了一个可怕的错误,拉出了父包,它使用了不同的 xml 配置,这将连接管理器再次更新为错误的服务器名称。

我将配置从父包中取出,并再次开始修复子包。修复了子包后,我从其现在 xml 配置免费的父包中调用了其中一个包。看到它再次连接到错误的服务器,我感到非常震惊和失望。

怎么会发生这种事?

我还通过 Wordpad++ 注意到配置文件已更新。我的假设是,当父级的配置更新连接管理器时,SSIS自动更新现在更正的配置文件并再次打破它。

当SSIS的组件发生变化时,它真的会自动更新配置文件吗?真的是这样双向的吗?如果是这样,那它的行为就完全令人困惑了——就像打乒乓球,或者把手指放在堤坝上。我正准备建议我们永远不要使用 XML 配置!


UPDATE:我错了。请参阅下面我的评论。

因此,我认为您对 SSIS 中的配置如何工作存在一个(可能是两个)基本误解。

使连接管理器可配置的标准过程是:

  1. 创建连接管理器,将其指向 BIDS 中的本地/开发连接。
  2. 为连接管理器的 ConnectionString、ServerName 和 DatabaseName 属性创建一项配置。 (如果是文件则添加filePath等)
  3. 在后续包中,只需创建相同的连接管理器,添加配置,将其指向现有配置文件,然后选择“重用现有...”(不是“覆盖”,这会丢弃您在步骤 2 中所做的所有工作。)
  4. 将包部署到服务器,并将 XML 文件部署到服务器上的同一本地位置。
  5. 修改服务器上的 XML 文件以指向该服务器的正确数据库连接(开发、登台、生产等)
  6. 当您在该服务器上运行该包时,它将在运行时使用该 XML 文件,并在运行时使用该服务器各自的数据库。
  7. 完全可选:我们实际上为每个数据源使用一个 XML 文件并显式命名连接管理器。这意味着我们可以通过连接管理器的命名约定“保证”所有需要使用某个数据库的包都访问完全相同的数据库。我们将这些数据源存储在项目级别,只需从数据源创建新连接,然后添加具有匹配名称“重用现有”的配置,单击“确定”,一切就完成了。

因此,您的一个误解是删除连接管理器。配置文件不会“更新”连接管理器。设置连接管理器的属性在设计时是您在 BIDS 中双击它时看到的任何内容。这些被硬编码到包中(查看代码并亲自查看),并且只能在连接管理器编辑器本身中进行更改。因此,不存在所谓的“错误”连接管理器,也没有必要删除它 - 只要当您在编辑器中测试连接时获得“成功”时,该连接管理器就可以正常运行。

您的第二个误解是配置文件的工作原理。配置文件仅替换包中的属性执行有自己的价值观在运行时。它根本不会修改包。相反,SSIS 包本身永远不会修改配置文件。这只能在 BIDS 流程之外使用文本编辑器来完成or通过 BIDS 配置编辑器 - 我相信这就是发生的事情。

我无法通过您提供的一般时间表来准确判断,但是您使用“覆盖”选项表明您基本上允许最后发生的任何配置编辑“赢得”设置所有文件将使用的值的特权对于该特定连接。

无论如何,我会(正如您可能猜到的那样)完全推荐使用 XML 配置,因为它们现在(或者曾经是,我认为!)非常简单,并且在我看来是多层 SSIS 环境的最简单的部署选项。

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

ssis xml 配置 - 配置覆盖包 - ssis 是否会在您不通知的情况下更改配置? 的相关文章

  • SSIS Excel 导入强制错误的列类型

    我正在尝试使用 SSIS 将电子表格导入到我们的数据库中 由于某种原因 当其中两列包含字符数据时 SSIS 希望相信它们的类型为 Double 我尝试将列重新映射为 nvarchar 255 但它仍然不想选择它认为是双精度的数据 因为其中有
  • ASP.net 无法将文件附加为数据库

    我正在 Visual Studio 2013 中使用 C 和 ASP net 为数据库开发一个数据输入表单 我正在尝试构建一个表单 允许我将 Nintendo Power Magazine 的 Top 30 民意调查的结果输入到一个表单中
  • SQL Server 表不使用默认值

    我正在使用 SSIS 包填充表 这个想法是 每当包上传到表时 它都会使用时间戳记该值getdate 当我打开它时 我的 DDL 看起来像这样 CREATE TABLE REPORTING post ssis table 1 validati
  • 如何在 SSIS 脚本任务中传递自定义对象列表?

    我有一个脚本任务 它创建自定义对象列表并将它们设置为 SSIS 对象变量 定制类 public class Dog public string Name get set 用于填充列表并设置为 SSIS 对象变量 myDogs 的代码 pub
  • SSIS:“错误:表达式“@[User::FileName].....无法写入属性”的结果

    过去 10 个小时我一直在尝试解决以下问题 我有一个 ForEach 循环容器 它在我的控制流中枚举 Excel 文件名 在 ForEach 循环容器中 我有一个将数据导入 Sql Server 的 Excel 源 这使用 User Fil
  • 从 dacpac 获取计算列的 DataType

    当遍历一个Dacpac通过 C 代码 我能够找出计算列中引用了哪些列 GetReferenced Microsoft SqlServer Dac Model Column ExpressionDependencies 以及该列的表达式是什么
  • SQL Server 查询从字符串中删除最后一个单词

    SO 中已经有一个带有 MySQL 标签的问题的答案 因此 我决定让您的生活更轻松 并为 SQL Server 用户提供以下答案 总是很高兴看到不同的答案 也许会有更好的表现 快乐编码 SELECT SUBSTRING YourString
  • 树形表的sql查询

    我有一个树形结构的表 id parentId name 1 0 Category1 2 0 Category2 3 1 Category3 4 2 Category4 5 1 Category5 6 2 Category6 7 3 Cate
  • 实体框架 - 悲观锁定

    我想做的基本上是NHibernate 做什么 http knol google com k nhibernate chapter 10 transactions and concurrency 10 282E 296 282E 29 28C
  • 同步2个具有不同模式的数据库

    我们有一个使用通用表设计的标准化 SQL Server 2008 数据库 因此 我们没有为每个实体 例如产品 订单 订单项等 使用单独的表 而是使用通用表 实体 实例 关系 属性等 我们决定建立一个单独的非规范化数据库来快速检索数据 您能否
  • 如何使用 SQL 获取数据库中所有表的列表?

    获取 SQL Server 上特定数据库中所有表的名称的最佳方法是什么 SQL Server 2000 2005 2008 2012 2014 2016 2017 或 2019 SELECT FROM INFORMATION SCHEMA
  • SQL - 只能在计算列上创建 UNIQUE 或 PRIMARY KEY 约束

    我正在尝试创建一个带有名为 profileID 的计算列的表 但是当我尝试这样做时 CREATE TABLE Profiles id int IDENTITY 1 1 NOT NULL profileID AS id 19379 62327
  • 在 SQL Server 中选择日期(星期一)

    我有一个领域dd mm yy hh mm ss tt 我只想选择当天的名称 I tried datepart and day 两者都给了我 1 到 31 我想要的是星期一 星期二等等 如何实现这一目标 SELECT DATEPART WEE
  • 在创建 IDENTITY 的同一个 T-SQL 语句中获取 IDENTITY 值?

    有人问我是否可以有一个插入语句 其中有一个作为 身份 列的 ID 字段 以及分配的值是否也可以插入到同一插入语句中同一记录中的另一个字段中 这可能吗 SQL Server 2008r2 Thanks 你不能真正做到这一点 因为将用于的实际值
  • SQL Server 2005存储过程性能问题

    我遇到以下问题 当从我的应用程序调用存储过程时 时不时地 例如 1000 次调用中的 1 次 需要 10 30 秒才能完成 通常 存储过程的运行时间不到一秒 这是一个相当简单的过程 只需一个选择即可将几个表连接在一起 所有表名都设置有 NO
  • SQL Server Express(或任何版本)可以在 RPi 上运行吗?

    我注意到完整版的 Windows 10 可以在 RPI 3 上运行 我想知道 SQL Server Express 或任何其他版本 是否可用于 ARM 版本的 Windows 我在任何地方都看不到它 所以我怀疑答案是否定的 但想检查一下我是
  • 如何使用 php $row 检索 sql 日期时间对象?

    例如 sql SELECT FROM db query sqlsrv query conn sql while row sqlsrv fetch array query echo row date column 会崩溃 我找到的大多数答案都
  • 将 GROUP BY 与 FIRST_VALUE 和 LAST_VALUE 结合使用

    我正在处理一些当前以 1 分钟间隔存储的数据 如下所示 CREATE TABLE MinuteData Id INT MinuteBar DATETIME Open NUMERIC 12 6 High NUMERIC 12 6 Low NU
  • SQLAlchemy/pandas to_sql for SQLServer -- 在主数据库中创建表

    使用 MSSQL 版本 2012 我使用 SQLAlchemy 和 pandas 在 Python 2 7 上 将行插入 SQL Server 表中 使用特定服务器字符串尝试 pymssql 和 pyodbc 后 我正在尝试 odbc 名称
  • Crystal Reports 假定存储过程中列的数据类型错误

    Crystal Reports Engine 有时认为从某些存储过程返回的字段实际上是类型的原因是什么money is a varchar 255 因此 我无法应用任何数字格式 你确定你有铸成金钱的领域吗 您最近是否更改了数据类型 并且之后

随机推荐

  • 超级账本中的第一个网络

    我正在尝试在 Hyperledger Fabric 中开发我的第一个网络 使用以下文档http hyperledger fabric readthedocs io en latest build network html 我已经完成设置直到
  • 如何查找并突出显示 ActiveSheet 中所有出现的多个字符串?

    我已经找到了解决方案 但代码太长了 然后我决定搜索一种将我想要查找和突出显示的所有单词插入到单个查找方法中的方法 我遇到了一些使用数组来执行此操作的想法 并使用这 3 个代码来编写我的代码 this this and this 但我是 VB
  • Ansible 动态选择主机组

    我的库存文件如下所示 host group 1 x x x 1 x x x 2 host group 2 x x x 3 x x x 4 现在我想根据脚本返回的参数在这些组上选择并执行任务 该剧本如下所示 host 127 0 0 1 ta
  • Composer 不会在私有存储库中加载私有存储库?

    因此 我尝试利用 Composer 包的强大功能来使我的应用程序更加模块化 所以我的主要应用程序现在依赖于一个私有存储库 我像这样拉入 repositories type vcs url tenant package git require
  • Powershell创建数组的数组

    我正在尝试使用 powershell 将数据推送到 REST api http influxdb com docs v0 8 api reading and writing data html 服务器期望的数据如下 name hd used
  • 找不到与绑定 NetTcpBinding 的端点的方案 net.tcp 相匹配的基地址。基地址方案是[http]

    我的 WCF 服务有这样的配置 该服务在 IIS Express 端口号 50187 上运行 该服务托管在 Visual Studio 2017 的 IIS Express 上
  • C# 数组逐元素差异的方法(导数近似)? [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我通常使用 python 但正在学习 C C 中是否有一个预先存在的类 用于获取数组的逐元素差异 以基本上获得导数 例如 python 中的 numpy diff 根据这一页 n
  • 如何在本地运行 travis-ci

    我宁愿不必推动每一个微小的改变 travis yml以及我为了运行构建而对源代码所做的每一个小更改 使用jenkins 您可以下载jenkins并在本地运行 特拉维斯提供这样的东西吗 注意 我看过 travis ci cli 并下载了它 但
  • 如何将字符串转换为ArrayList?

    在我的字符串中 我可以有任意数量的以逗号分隔的单词 我希望将每个单词添加到 ArrayList 中 例如 String s a b c d e 尝试类似的东西 List
  • 在 LINQ 查询中使用内置 sql 函数?

    是否可以在 LINQ 查询中使用内置 sql 函数 例如 user name 如果没有 我可以使用其他东西吗 这取决于提供商 例如 在针对 SQL Server 的 LINQ to Entities 中 您可以使用SqlFunctions
  • 单击鼠标即可获取 MS 图表中的标记位置

    我正在使用 MS Charts 制作图表 现在图表有我想要获取坐标的标记点 如果用户单击标记点 我希望图表中具有交互性 以便单击标记点时我可以检索标记点的坐标 x 轴和 y 轴 例如对于图表 单击橙色点或蓝色点时 我想获取该点的坐标 例如第
  • 空手道针对SocketTimeoutException的重试机制

    我们有一个系统 用于在测试期间发出一些 PUT 请求 问题是 目前该系统的资源存在一些问题 有时无法及时响应 我们无法将读取超时值增加到大于 60 秒的值 原因有两个 如果系统响应速度不快 则很可能根本不会响应 其次 我们使用的代理在 60
  • Django:在中间件中用 request.urlconf 覆盖 ROOT_URLCONF

    当请求包含 api 子域时 我试图用另一个 url 覆盖 ROOT URLCONF 这就是我到目前为止所拥有的 from django utils cache import patch vary headers class Subdomai
  • 在 Excel 中显示一段时间的弹出窗口

    我正在尝试生成一个在给定时间后关闭的弹出窗口WaitTime很快 我咨询过this链接和this link 我尝试应用 VBA Excel宏消息框自动关闭 我的代码如下 Sub TestSubroutine Dim TemporalBox
  • android 支持 PTRACE_SINGLESTEP 吗?

    好的 这是一个简单的问题 当我使用 ptrace 系统调用时 android 支持 PTRACE SINGLESTEP 吗 当我想ptrace一个android apk程序时 我发现我无法处理SINGLESTEP跟踪 但是当我使用PTRAC
  • 在 Weblogic 10.3 上调用 WebService 时未实现方法

    我开发了一个 Web 服务客户端来连接部署在 Weblogic 10 3 上的 Web 服务 尝试实例化客户端对象时总是得到相同的异常 java lang UnsupportedOperationException Method not i
  • 将年/周转换为日期对象

    字符串包含 YEAR WEEK 我想将其转换为parse date time 到日期对象 但我无法使代码工作 parse date time c 201510 YW 我不必使用润滑 也可以是其他包 在将年周转换为日期之前 您必须指定一周中的
  • iptables:复制/转发端口

    我正在尝试从阻止此端口的网络连接到 MySQL 端口 3306 但还有另一个端口 110 开放 我可以将其用于本例 我正在将 MySQL 用于其他应用程序 因此我不能简单地更改端口 我现在正在尝试通过 iptables 设置端口转发 确切地
  • NextJS 中 :global() css 模块选择器不纯的问题

    因此 我正在将应用程序从 CRA 迁移到 NextJS 并且我遇到了某些组件和页面的 module scss 文件的错误 Syntax error Selector global label primary is not pure pure
  • ssis xml 配置 - 配置覆盖包 - ssis 是否会在您不通知的情况下更改配置?

    昨天我工作了一整天 试图消除 XML 配置文件中错误连接字符串的影响 我检查了每个包 删除了有问题的连接管理器并使用正确的服务器名称重新添加它 每次我这样做时 我都会通过删除它来显式更新配置 然后使用覆盖选项重新添加它 但后来我犯了一个可怕