标签: ssis-2012

SSIS 2012:如何更改项目的环境变量?

我想更改2个日期项目变量,StartDateTime和EndDateTime.我有另一个名为RunType的变量.很简单,我想先读取RunType值.如果设置为"Incremental",我想将StartDate从昨天的12:00:00更改为StartDate,并将EndDate更改为昨天的晚上11:59:59.我尝试回写值时得到的错误似乎表明写入是在项目级变量上.这是真的 - 或者在处理这些项目级别变量时,我需要做些什么?我想过创建包级别变量,一个控制表,等等......这似乎有点过分了.

当我通过更改集成服务目录/环境下的参数值手动测试包时,我得到了我期望的范围.该包将通过sql代理作业运行.是否有一个pre-ssis步骤我可以创建并执行以执行ssis之外的这个简单任务?

ssis sql-server-2012 ssis-2012

2
推荐指数
1
解决办法
7984
查看次数

构建SSIS EXPRESSION以测试变量是否为空

我在表达式构建器中构建一个表达式来执行以下操作,但是这给了我一个错误:

@User::AccountID != ''
Run Code Online (Sandbox Code Playgroud)

ssis ssis-2012

2
推荐指数
1
解决办法
7133
查看次数

在ssis中为单行结果集分配值,从而在SSIS 2012中给出错误

我试图从SQL Server的表中获取CSV ID并将结果分配给变量.下面是我在执行SQL任务中放入的sql

set nocount on
declare @csv varchar(max) = ''
select @csv = @csv + cast(companyid as varchar(10)) + ',' from company where isprocessed = 0
select substring(@csv,1,len(@csv) - 1) as companyids
Run Code Online (Sandbox Code Playgroud)

正如您可以看到它在t-sql中获取字段的csv的简单而标准的方法.它在查询窗口中完美运行,但在我在SSIS 2012中运行任务时抛出以下错误

[执行SQL任务]错误:值类型(__ComObject)只能转换为Object类型的变量.

[执行SQL任务]错误:为变量"sCSVCompanyIds"赋值时发生错误:"分配给变量"User :: sCSVCompanyIds"的值(DBNull)的类型与当前变量类型(String)不同.在执行期间可能不会改变类型.变量类型是严格的,除了Object类型的变量."

以下是执行SQL任务的设置

  1. 在" 常规"选项卡中,"结果集"项目设置为单行
  2. 在" 结果集"选项卡中,"结果名称"设置为0(我也尝试将其设置csvids为选择列表中的别名列名称),并将"变量名称"设置为User::sCSVCompanyIds

我不知道为什么它不起作用.在浪费了这么多时间之后,我通过将结果作为Full Row集返回(同样的SQL总是返回1行1列)并为每个循环容器添加一个循环抛出结果集(将始终迭代)只有一次出于显而易见的原因)并将结果集的字段分配给变量.它适用于我,但应该有简单的方法.我错过了什么?

sql-server ssis ssis-2012

2
推荐指数
1
解决办法
7402
查看次数

如何从SSISDB下载SSIS包

我对SSIS还是很陌生。我已经弄清楚了如何通过连接到Integration Services从服务器下载软件包。如何从SSISDB下载软件包?背景:我们有一堆以前的人创建的软件包。所有软件包都应保存在我们共享驱动器上的相同文件夹结构中。但是,在某些情况下,数据库中的软件包比共享驱动器上的软件包新。我希望能够查看已安装的软件包,以查看它们是否与共享驱动器上的软件包匹配,以及所安装的版本是否较新,请编辑该版本。谢谢!

sql-server ssis ssis-2012 ssis-2014

2
推荐指数
1
解决办法
6985
查看次数

为什么将int从SqlDataReader转换为long导致InvalidCastException?

我在以下行获得了无效的强制转换异常:

DestMinSeq = (long)rdr["MinSeq"];
Run Code Online (Sandbox Code Playgroud)

当我更改查询以将MinSeq强制转换为BIGINT而不是INT时,它可以工作.

问题:为什么短期投票是违法的?

环境:

VS 2012 SSIS project script task. 
ADO.NET connection manager. 
SQL Server 2012.
Run Code Online (Sandbox Code Playgroud)

c# ssis c#-4.0 ssis-2012

1
推荐指数
1
解决办法
2800
查看次数

如何在ssis脚本任务中显示变量

我有一个'执行SQL任务',它产生一个行数.见屏幕1.

我试图在ssis'脚本任务'中打印'ContactRowCount'.见屏幕2.

但是Dts.Variables ["User :: ContactRowCount"]为空.我可以找回它.任何人都知道如何从脚本任务中的"执行SQL任务"中检索变量值

屏幕 - 1

在此输入图像描述

屏幕 - 2

在此输入图像描述

ssis sql-server-2008 ssis-2012

1
推荐指数
1
解决办法
4万
查看次数

ssis 执行 sql 任务 ssis 2012 上的 FX 符号是什么?

SSIS 2008 中没有这个。执行 sql 任务上的这个 FX 符号是什么?看来这被认为是一个参数。有这方面的好文章吗?

谁能告诉我这个有什么用:

在此输入图像描述

t-sql ssis ssis-2012

1
推荐指数
1
解决办法
6045
查看次数

SSIS - SSIS 挂起时的最佳实践

昨晚我的 SSIS 挂了。我不太确定为什么。今天早上,我根据输出确定了哪个包挂起。我正在查看sp_who2,但看不到在运行作业的用户下运行的任何进程。
我想知道当我的 SSIS 挂起时我应该做什么。它当前仍在运行,但似乎没有运行任何东西。

sql-server logging ssis etl ssis-2012

1
推荐指数
1
解决办法
3272
查看次数

SSIS多表加载

我是第一次学习SSIS。我正在尝试从我的登台数据库向数据仓库中的多个表加载多个表。我的登台数据库不过是一个数据库,其中所有源数据库中的所有表都复制到该数据库中。我发现每个数据流任务仅允许将一个源表连接到一个目标表。是否必须使用与源数据库中的表数量一样多的数据流任务?有没有简单而有效的方法来做到这一点?

根据我的理解,我需要一个空数据库,其中包含在SQL Server中创建的空Dim和Fact表,这些表将用作目标数据仓库并从登台数据库接收数据。因此,我已经创建了这个空的数据仓库。请帮忙。

ssis ssis-2012

0
推荐指数
1
解决办法
7334
查看次数

如何在表达式构建器中使用System :: ErrorDescription系统变量

我正在使用BIML创建SSIS包,并且包的一部分处理发生的错误.我正在使用一个执行SQL任务调用存储过程来记录数据库中的错误详细信息,并且存储过程需要一个参数@Comments,其中包含错误描述和一些其他自定义信息的信息.

我正在尝试创建一个变量Error_Details并使用表达式来构建@Comments参数的值.

<Parameters>
    <Parameter Name="ParentPkgID" DataType="Int32">0</Parameter>
</Parameters>

<Variables>
    <Variable Name="TableName" DataType="String">
        tblEmployee
    </Variable>
    <Variable Name="Error_Details" DataType="String" EvaluateAsExpression="true"> 
        &quot;Package execution failed, Error details :: &quot; + @[System::ErrorDescription]
    </Variable>
</Variables>
Run Code Online (Sandbox Code Playgroud)

问题是当我使用上面的代码创建变量时包创建失败,我理解表达式构建器中没有System :: ErrorDescription,但是我的选项在这里有什么.

如何使用一些仅在BIML代码中的某些特定上下文中可用的系统变量.

非常感谢您查看我的问题.请提出解决方案.

ssis ssis-2012 biml

0
推荐指数
1
解决办法
2318
查看次数