我并不完全理解SSIS包中控制流的目的.在我创建的所有软件包中,我只需添加一个数据流组件来控制流,然后其余逻辑就位于数据流中.
我已经看到了更复杂的控制流的示例(EX:foreach循环容器,它迭代Excel文件中的行.),但我正在寻找一个无法在数据流中实现的示例.我可以轻松地在数据流中创建与excel文件的连接.
我试图更好地理解何时需要(或应该)在控制流中实现逻辑与使用数据流来完成所有操作.
是什么促使我开始研究控制流程,其目的是为了重构SSIS数据流以及将包拆分为更小的包,以便更容易支持并发开发.
我试图围绕如何使用控制流来实现这些目的.
我在Visual Studio 2008中使用SSIS.我需要处理许多XML文件并将其放入现有的数据库结构(SQL Server 2005).这是我第一次尝试使用SSIS而且有点卡住了.我找到了XML数据流任务,为它分配了一个测试xml文件,它与XSD相关联,并将一个节点映射到数据库表.我的问题是,如何将许多xsd节点与许多表相关联?当然,我不必为每个表设置XML源代码?
我有一些SSIS包部署到SQL 2005 Server,随后在Visual Studio 2003中进行设计和维护.当我打开任何BIDS项目,然后是其中一个包时,设计器总是验证每个数据流和任务宾语.
通常,这不是问题.但是,在某些情况下,我们用于连接和导出AS400数据的系统帐户将无法正确验证.由于我正在导出TON表,每个数据流对象都尝试通过ODBC连接连接到AS400,它会出现"无效帐户"错误,然后继续尝试验证下一个任务.这会锁定系统帐户,因为无效凭据会被尝试40次以上.
在我尝试运行包之前,有什么办法可以禁用验证吗?作为替代方案,是否有一个我可以切换的设置,一旦找到一个无效对象,将停止所有验证?在锁定帐户之前,AS400系统将允许一些错误的尝试.显然,如果我能在此之前切断验证过程,那将是最佳的.
我有什么选择?
有没有人有关于如何使用SSIS包将固定宽度平面文件导入数据库的教程?
我有一个包含不同长度的列的平面文件.
Column name Width
----------- -----
First name 25
Last name 25
Id 9
Date 8
Run Code Online (Sandbox Code Playgroud)
如何将平面文件转换为列?
在SSIS中的脚本任务内部,我需要调用SQL数据库.我有一个连接字符串是在我将数据库添加到数据源文件夹时创建的,但是现在我不确定如何在C#代码中引用它.我知道如何在ASP网站的代码中执行此操作,但似乎SSIS应该有更直接的方法.
编辑
这行代码实际上最终会抛出异常:
sqlConn = (System.Data.SqlClient.SqlConnection)cm.AcquireConnection(Dts.Transaction);
Run Code Online (Sandbox Code Playgroud)
它写道:"无法将'System._ComObject'类型的COM对象强制转换为类类型'System.Data.SqlClient.SqlConection.'"
这是我在脚本任务中尝试做的事情:
long lngMaxRowsToPull = Convert.ToInt64(Dts.Variables["Project::MaxRowsPerPull"].Value);
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息,表明该变量不存在.
然而,它被定义为脚本的ReadOnlyVariable,它确实作为项目参数存在.


我正在研究SSIS包.我在现有的ssis包中增加了一个数据流任务.在添加新任务后,我重新编译了包,它没有任何错误.我需要将其部署到开发服务器吗?
将平面文件转换为数据库表时,我只得到了这两个错误.数据流似乎适用于具有相同布局的其他平面文件,因此我不明白这些错误可能来自何处.
[Flat File Source [204]] Error: An error occurred while skipping data rows.
[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED.
The PrimeOutput method on Flat File Source returned error code 0xC0202091.
The component returned a failure code when the pipeline engine called
PrimeOutput(). The meaning of the failure code is defined by the component,
but the error is fatal and the pipeline stopped executing. There may be
error messages posted before this with more information about the failure.
Run Code Online (Sandbox Code Playgroud) 我一直在使用SSIS for VS 2017大约一个月没有麻烦.
突然,当我尝试创建一个新的SSIS项目时,会出现以下错误对话框:
无法加载文件或程序集"Microsoft.DataTransformationServices.Wizards"或其依赖项之一.该系统找不到指定的文件.
我试图卸载SSIS包并重新安装VS 2017但仍然出现错误.你能帮帮我吗?
ssis ×10
sql-server ×5
flat-file ×2
bids ×1
c# ×1
control-flow ×1
deployment ×1
script-task ×1
sql ×1
ssis-2012 ×1
t-sql ×1