问题标签 [ssis-2012]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ssis - SSIS 2012 - 包部署:CreateDeploymentUtility 属性在项目属性中不可见
我有一个 SSIS 2012 项目,其中包含许多要部署到服务器的包。
如此处所写,我必须创建一个部署实用程序,但在我的项目属性中没有部署实用程序子菜单...
sql-server - SSIS 2012 项目部署模型 - 环境继承
我们有三个环境——生产、登台和测试。每个环境都有多个数据库用于我们的内部后台系统(即时间收集、会计、人力资源等)。
对于我们的员工福利,我们创建了发送给我们的福利提供者以处理注册/终止的文件提要。在 SSIS 2012 之前,我们有一组用于集中配置的自定义 SSIS 组件 - 因此,根据我们部署包的位置,它会自动选择正确的连接字符串。
现在我们的旧方法奏效了,但它有其自身的困难(即,新开发人员经常忘记正确设置包并花时间试图弄清楚),所以我们想继续 SSIS 2012 和项目部署模型。
我真的很喜欢环境配置的概念,但简单地为 prod/stage/test 创建 3 个环境似乎不是一个好主意。我们的许多软件包都有自定义 SFTP 凭据、网络上各个区域的文件路径等 - 因此这些环境会随着对我们大多数软件包并不重要的东西快速增长。
有没有办法让一个环境配置从另一个环境配置中提取数据?像这样的东西将允许我创建一个具有公共数据库服务器的生产环境配置,然后在生产配置中为我们的一个好处文件提要包继承它。福利文件提要包 prod config 将具有所有其他非常具体的变量。
variables - SSIS 2012“全局”变量
我在尝试将数据传递到子包时遇到问题。我的父包通过一个数据库运行,为了运行与否,将它与另一个进行检查。目前我正在使用 ForEach 循环来做到这一点。然后我可以通过一个唯一的 ID 识别我需要运行的行。然后我将它传递给适当的子包来处理它。
我的问题是,将该标识符写入 4 字节变量以便它在解决方案级别而不是包级别上可用的最简单方法是什么。据我所见,我也无法将任何东西传递给子包。
感谢协助!-D
ssis - 创建集中式数据库
我在不同的服务器(B 和 C)中有 2 个同名的数据库(A)。两个数据库具有相同的架构。(sql server 2008 r2)
任务 1:将两个数据库复制(传输)到名称为(A_B 和 A_C)的第三个服务器(D)中。
任务 2:将两个数据库合并为一个数据库(A_D)。(我不知道我将如何处理密钥)
任务 3:每天我必须从服务器 B 和 C 获取数据并放入集中式服务器 D。
任何帮助,将不胜感激。
谢谢。
里特什
sql - SSIS 包不想获取临时表的元数据
我有一个 SSIS 包,其中包含多个流。
每个流负责创建一个“暂存”表,该表在创建后被填满。这些表是全局临时表。
我为另一个表添加了 1 个额外的流(我没有制作包),它完全按照上面的说明进行。但是,由于某种原因,包在此流程中间歇性地失败,而除了一些表名之外,它与其他包完全相同。
不断弹出的错误:
更新 - 插入数据流:错误:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80004005。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“未指定的错误”。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80004005 描述:“无法确定元数据,因为语句 'select * from '##TmpMcsConfigurationDeviceHistory86B34BFD041A430E84CCACE78DA336A1'' 使用临时表。”。
创作表达:
"
解析表达式(=评估):
sql-server - 如何通过环境变量在 SSIS 2012 中配置项目连接管理器
是否可以通过环境变量配置项目连接管理器(通过表达式)DB URL?
我看到我可以使用 Visual Studio 配置管理器来更改项目参数,但我发现无法更改项目连接管理器的 DB URL。
原因是,另一位 SSIS 开发人员使用不同的数据库 URL 访问他的本地 SQL Server 实例。
谢谢
oledb - SSIS - 在 SQL 查找命令 (JET OLEDB) 中使用文件名参数
对 CSV 文件使用 Jet 引擎时,我可以在查找转换中参数化 SqlCommand 吗?还有另一种使用 CSV 和查找的方法吗?
我有一个 JET OLEDB 连接,它使用表达式从变量中获取文件夹位置,如下所示:
"Data Source=" + @[User::SourceRoot] + ";Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=\"text;HDR=Yes;FMT=Delimited(,)\";"
然后在我的 SSIS 查找转换中,我有以下 SqlCommand:
SELECT * FROM Users.csv
这很好用,但是,我不想硬编码“Users.csv”。有没有办法配置这个?我尝试设置部分缓存,但使用高级屏幕“自定义查询”或使用“?”没有任何运气。查询中的参数。(我使用的是 SQL 2012)。
sql-server-2008 - 在 SQL2012 实例上运行 SSIS 2008 包
我正在将我们的 ETL 解决方案和数据库升级到 SQL Server 2012。我已经测试了此升级,但我们对在 SQL 2012 实例上运行带有作业的 SSIS 2008 包存在争议。我了解 2008 R2 实例作业运行:
消息 Microsoft (R) SQL Server Execute Package Utility Version 10.0.5500.0 for 64-bit 版权所有 (C) Microsoft Corp 1984-2005。版权所有。
开始时间:凌晨 2:10:11 DTExec:包执行返回 DTSER_SUCCESS (0)...
并且 2012 实例作业对包进行就地升级并运行:
消息以用户身份执行:xxxx。适用于 64 位的 Microsoft (R) SQL Server 执行包实用程序版本 11.0.2100.60 版权所有 (C) Microsoft Corporation。版权所有。开始时间:上午 8:29:18 DTExec:包执行返回 DTSER_SUCCESS (0)。开始时间:上午 8:29:18 结束时间:上午 8:59:46 经过时间:1816.76 秒。包成功执行。这一步成功了。
我的问题是:是否有任何关于这种情况的失败报告,是否可以安全地假设存在向后兼容性?
odbc - How do I solve "Too many client tasks" in ODBC destination in SSIS?
I have an SSIS 2012 package that, among other things, needs to write to nine different tabs in each of twenty different Excel 2010 files.
In one of the data flow tasks, when running the package within Visual Studio 2012, I get an error during validation:
Error: 0xC0014020 at MyPackage, Connection manager "Excel Files Whatever": An ODBC error -1 has occurred.
Error: 0xC0014009 at MyPackage, Connection manager "Excel Files Whatever": There was an error trying to establish an Open Database Connectivity (ODBC) connection with the database server.
This data flow task that generates this error would be writing to six tabs in each of the Excel files if it worked. With fewer files (four) in a previous version of this SSIS package, it worked fine. Also, another data flow task in the same package that writes to the other three tabs of each Excel file also works fine. The two data flow tasks are using the same connection managers. The specific connection manager named in the error changes each time the package is run.
I enabled ODBC tracing, and I found the following error in the log:
DIAG [08004] [Microsoft][ODBC Excel Driver] Too many client tasks. (-1036)
I found some documentation about ODBC destinations, which reads in relevant part:
There is no limitation on the number of ODBC destination components that can run in parallel against the same table or different tables, on the same machine or on different machines (other than normal global session limits).
However, limitations of the ODBC provider being used may restrict the number of concurrent connections through the provider. These limitations limit the number of supported parallel instances possible for the ODBC destination. The SSIS developer must be aware of the limitations of any ODBC provider being used and take them into consideration when building SSIS packages.
OK, great, but:
- What is the limit on parallel connections in the 32-bit Excel driver contained in the Microsoft Access Database Engine 2010 Redistributable? Or is that even the problem?
- If there is a limit on parallel connections, how can I force SSIS to honor the limit when running the package, including during the validation phase?
As additional info, I have DelayValidation set to True on all the ODBC connection managers. I have ValidateExternalMetadata set to False on all the ODBC destinations because the files do not exist yet when starting the package (a Copy Files task creates all the files earlier in the package). The connection string for each of the connection managers is generated by an expression, but the result is of the form
in which only the file and directory names change due to parameters used in the expression.
ssis - 错误:数据流任务中的 0xC0202009,OLE DB 目标 [43]:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80040E21
我的源是 TXT 平面文件源,目标是 OLE DB 类型。(见图)
我在 Code Project 上找到了一个非常基本的教程来创建一个包。我完成了这些步骤,但是在调试时出现了一个奇怪的错误(如下):
有人可以解释这个错误吗?我花了几个小时在网上搜索错误。
SSIS 包“C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx”开始。信息:数据流任务中的 0x4004300A,SSIS.Pipeline:验证阶段开始。信息:数据流任务中的 0x4004300A,SSIS.Pipeline:验证阶段开始。警告:数据流任务中的 0x80047076,SSIS.Pipeline:输出“平面文件源输出”(6) 和组件“平面文件源”(2) 上的输出列“intApplication”(7) 随后未在数据流中使用任务。删除这个未使用的输出列可以提高数据流任务的性能。信息:0x40043006 在数据流任务,SSIS.Pipeline:准备执行阶段开始。信息:数据流任务的 0x40043007,SSIS.Pipeline:预执行阶段开始。信息: 2:文件“C:\Users\USRNAME\Desktop\ddd.txt”的处理已经开始。信息:数据流任务的 0x4004300C,SSIS.Pipeline:执行阶段开始。信息:数据流任务中的 0x402090DE,平面文件源2:为文件“C:\Users\USRNAME\Desktop\ddd.txt”处理的数据行总数为 2。错误:0xC0202009 在数据流任务,OLE DB 目标 [43]:SSIS 错误代码 DTS_E_OLEDBERROR。发生 OLE DB 错误。错误代码:0x80040E21。OLE DB 记录可用。来源:“Microsoft SQL Server Native Client 11.0” Hresult:0x80040E21 描述:“多步 OLE DB 操作产生错误。检查每个 OLE DB 状态值(如果可用)。没有完成任何工作。”。错误:数据流任务中的 0xC020901C,OLE DB 目标 [43]:OLE DB Destination.Inputs[OLE DB 目标输入].Columns[AppID] 在 OLE DB Destination.Inputs[OLE DB 目标输入] 上存在错误。返回的列状态为:“由于可能丢失数据,无法转换该值。”。错误:数据流任务中的 0xC0209029,OLE DB 目标 [43]:SSIS 错误代码 DTS_E_INDUCEDTRANSFORMFAILUREONERROR。“OLE DB Destination.Inputs[OLE DB Destination Input]”失败,因为发生错误代码 0xC0209077,并且“OLE DB Destination.Inputs[OLE DB Destination Input]”上的错误行处置指定错误失败。指定组件的指定对象发生错误。在此之前可能会发布错误消息,其中包含有关失败的更多信息。错误:数据流任务中的 0xC0047022,SSIS.Pipeline:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“OLE DB 目标输入”(56) 时,组件“OLE DB 目标”(43) 上的 ProcessInput 方法失败,错误代码为 0xC0209029。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。信息:数据流任务的 0x40043008,SSIS.Pipeline:后执行阶段开始。信息:0x402090DD 在数据流任务,平面文件源2:文件“C:\Users\USRNAME\Desktop\ddd.txt”的处理已经结束。信息:数据流任务中的 0x4004300B,SSIS.Pipeline:“OLE DB 目标”写入 0 行。信息:数据流任务中的 0x40043009,SSIS.Pipeline:清理阶段开始。任务失败:数据流任务警告:包中的 0x80019002:SSIS 警告代码 DTS_W_MAXIMUMERRORCOUNTREACHED。Execution 方法成功,但引发的错误数 (4) 达到了允许的最大值 (1);导致失败。当错误数量达到 MaximumErrorCount 中指定的数量时,就会发生这种情况。更改 MaximumErrorCount 或修复错误。SSIS 包“C:\Users\USRNAME\Desktop\Projects\DataGeneratorSsis\DataGeneratorSsis\Package.dtsx”完成:失败。
相关的错误信息
OLE DB Destination.Inputs[OLE DB Destination Input] 上的 OLE DB Destination.Inputs[OLE DB Destination Input].Columns[AppID] 出现错误。返回的列状态为:“由于可能丢失数据,无法转换该值。”