标签: ssis

SSIS 2008对行计数和脚本组件使用相同的变量

我有一个行计数组件,它使用全局变量X来存储数字; 到目前为止,它规则但是如果我在其ReadOnly变量中添加一个脚本组件,然后在其中使用它出于某种目的,流程会暂停一段时间然后崩溃说行数需要一个有效的变量.

是不是可以将行计数存储在变量中,然后从脚本comp中读取此变量.?

ssis etl sql-server-2008 sql-server-2008-r2 business-intelligence

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

阻止Winzip打开资源管理器窗口

我们正在测试下载多个文件的解压缩.与批处理文件非常相似的命令从批处理文件(从SSIS调用)执行

C:\Progra~1\WinZip\WINZIP32.EXE -min -e -o -j C:\TEMP\ZipTest\x1.zip C:\TEMP\ZipTest\Z1
C:\Progra~1\WinZip\WINZIP32.EXE -min -e -o -j C:\TEMP\ZipTest\x2.zip C:\TEMP\ZipTest\Z2
C:\Progra~1\WinZip\WINZIP32.EXE -min -e -o -j C:\TEMP\ZipTest\x3.zip C:\TEMP\ZipTest\Z3
C:\Progra~1\WinZip\WINZIP32.EXE -min -e -o -j C:\TEMP\ZipTest\x4.zip C:\TEMP\ZipTest\Z4
Run Code Online (Sandbox Code Playgroud)

不幸的是,在完成解压缩后,会打开四个资源管理器窗口(每个存档一个).

在此输入图像描述

虽然在桌面上运行时很容易关闭这些窗口,但我无法关闭在SSIS帐户下打开的任何窗口.

如何防止这些窗口打开?

windows explorer ssis batch-file winzip

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

SSIS需要带有2个列标题的平面文件输出相同

我正在尝试使用SSIS平面文件目标,但是无法解决使输出文件具有命名为同一事物的两列的问题。

我要求输出文件具有列标题:

first1, last1, email, shortname, email
Run Code Online (Sandbox Code Playgroud)

每当我尝试映射源数据时,都会收到错误消息,提示诸如“此列名称已存在”和“有多个数据源列,名称为”电子邮件”之类的信息。

最好的解决方法是什么?

谢谢

ssis etl dataflow flat-file

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

SSIS excel Destination,如何强制使用LongText?

我正在使用SSIS执行数据迁移.

我正在使用Excel目标文件来输出出错的所有内容.

在这个Excel文件中,我想输出两个错误列(错误号和错误列)以及输入组件中的所有列.

这几乎正​​常工作,除非我的字符串列超过255个字符.当我设置Excel目标时,我创建了一个新表.

Create Table语句将Longtext正确定义为数据类型:

CREATE TABLE `My data` (
    `ErrorCode` Long,
    `ErrorColumn` Long,
    `ID` Long,
    `MyStringColumn` LongText
)
Run Code Online (Sandbox Code Playgroud)

这是第一次工作.然后,我从Excel文件中删除所有数据,因为我想在输出错误之前清理excel文件.

当我在Package设计器中返回时,我的列定义搞砸了.每个文本列都被处理为nvarchar(255),而不再是ntext.当我的数据超过255时,这会破坏我的组件.

如何正确管理Excel目的地?

谢谢

[编辑]由于我不确定我的解释,这是运行任务时的错误消息:

Error: 0xC0202009 at MyDataTask, To Errors file [294]: SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E21.
Error: 0xC0202025 at MyDataTask, To Errors file [294]: Cannot create an OLE DB accessor. Verify that the column metadata is valid.
Error: 0xC004701A at MyDataTask, SSIS.Pipeline: component "To Errors file" (294) failed the …
Run Code Online (Sandbox Code Playgroud)

excel ssis

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

为什么SSIS在导入数据库时​​不识别制表符列分隔符?

我试图使用SSIS包将数据从.dat平面文件传输到SQL数据库表.我有一个如下所示的dat文件:

Booth 1 Weekly  Status
Status  Date    Time    Operator    NESHAP  HEPA    Alarm
Initial Reading 10/3/2011   7:42 AM Ken Forsberg    0.00    0.00    No
System Reading  11/12/2011  3:10 AM System Log  0.24    2.01    No

No Login    11/12/2011  7:00 AM     0.24    2.03    Yes
No Login    11/12/2011  3:00 PM     0.24    2.03    Yes
No Login    11/13/2011  7:00 AM     0.24    2.04    Yes
No Login    11/13/2011  3:00 PM     0.24    2.02    Yes
No Login    11/14/2011  7:00 AM     0.24    2.06    Yes
No Login    11/14/2011  3:00 PM     0.24    2.05    Yes …
Run Code Online (Sandbox Code Playgroud)

ssis

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

如何在C#中的sql命令中传递两个变量?

真的是一个简单的问题,我有两个变量"one_hour_ago"和"current_time",我需要在我的sql命令中传递这两个变量,如:

string commandString = "SELECT * from myTable where time between one_hour_ago and current_time";
Run Code Online (Sandbox Code Playgroud)

这是我的,但我得到语法错误

string commandString = "SELECT * from myTable where TS between ' and /" + one_hour_ago + "'" + current_time + "/"; 
Run Code Online (Sandbox Code Playgroud)

谢谢

c# sql ssis

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

在SSIS中对完整的行集合执行LINQ?

嗯,正如标题所说.我想使用脚本组件目标,然后利用LINQ选择要处理输出的行.

对于更多的背景,我有一个丑陋的合并的东西与一对多的关系.行看起来像:

[ID] [Title]   [OneToManyDataID]
1    Item one   2
1    Item one   4
1    Item one   3
3    Item two   1
3    Item two   5
Run Code Online (Sandbox Code Playgroud)

我们将调用对象[Item],它具有ID和Title列以及[OneToMany]

我希望我可以把整个东西扔到一个脚本组件目的地,然后使用LINQ按项目执行类似的操作,只从最高的OneToMany对象获取数据.有点像:

foreach(var item  in Data.GroupBy(d=>d.Item).Select(d=> new {Item = d.Key})){
     //Then pick out the highest OneToMany ID for that row to use with it.
}
Run Code Online (Sandbox Code Playgroud)

我意识到可能有更好的LINQ查询来实现这一点,但重点是,SSIS中的脚本组件似乎只允许使用预定义的ProcessInputRow方法在每行上使用它.我想确切地确定哪些行被处理以及哪些属性传递给该方法.

我该怎么做呢?

c# linq ssis

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

通过SSIS在SQL中插入XML文件

我有这个程序

ALTER proc [dbo].[adenti] 
(
   @entra nvarchar(max)
)
as 
DECLARE @sql varchar(4000); 
SET @sql = 'INSERT INTO provaxml (arquivo) SELECT CAST(BulkColumn AS XML) FROM OPENROWSET(BULK ''' + @entra + ''', SINGLE_BLOB) as arquivo'; 
EXEC( @sql );
Run Code Online (Sandbox Code Playgroud)

上面的代码有效.

是否可以使用Integration Services将路径中的所有XML文件插入到SQL表中?

sql sql-server ssis sql-server-2008

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

SSIS日志记录:使用变量而不是重新部署来启用/禁用日志记录

我有一个SSIS包,打电话给它PackageA.有时,我想让它记录到文本文件,而有时,我不记得.我的初始是让包检查一个表,然后使用变量/表达式来启用/禁用日志记录.我假设这是不可能的?

我的工作是创建一个"主"包PackageB,使用SQL任务来获取是否启用日志记录. PackageB将调用PackageA1PackageA2取决于值 - PackageA1将在PackageA启用日志记录的PackageA2情况下PackageA部署,并将在禁用日志记录的情况下部署.

然而,这使部署变得麻烦而且容易陷入困境.有没有办法完成,至少,类似于我正在寻找的东西?

谢谢!

ssis

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

为了提高性能,我在SSIS中选择较少的列的位置是否重要?

在数据流任务中说,我有一个OLE DB源.我想提高SSIS的性能.选择较少列的位置是否重要?

  1. 在数据库中创建一个SELECT较少列的视图,将其用作源.

  2. 在源中键入SQL SELECT以选择较少的列.

  3. 选择表格,然后取消选中源中的列.

谢谢

sql performance select ssis

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