我有一个行计数组件,它使用全局变量X来存储数字; 到目前为止,它规则但是如果我在其ReadOnly变量中添加一个脚本组件,然后在其中使用它出于某种目的,流程会暂停一段时间然后崩溃说行数需要一个有效的变量.
是不是可以将行计数存储在变量中,然后从脚本comp中读取此变量.?
ssis etl sql-server-2008 sql-server-2008-r2 business-intelligence
我们正在测试下载多个文件的解压缩.与批处理文件非常相似的命令从批处理文件(从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帐户下打开的任何窗口.
如何防止这些窗口打开?
我正在尝试使用SSIS平面文件目标,但是无法解决使输出文件具有命名为同一事物的两列的问题。
我要求输出文件具有列标题:
first1, last1, email, shortname, email
Run Code Online (Sandbox Code Playgroud)
每当我尝试映射源数据时,都会收到错误消息,提示诸如“此列名称已存在”和“有多个数据源列,名称为”电子邮件”之类的信息。
最好的解决方法是什么?
谢谢
我正在使用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) 我试图使用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) 真的是一个简单的问题,我有两个变量"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)
谢谢
嗯,正如标题所说.我想使用脚本组件目标,然后利用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方法在每行上使用它.我想确切地确定哪些行被处理以及哪些属性传递给该方法.
我该怎么做呢?
我有这个程序
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表中?
我有一个SSIS包,打电话给它PackageA.有时,我想让它记录到文本文件,而有时,我不记得.我的初始是让包检查一个表,然后使用变量/表达式来启用/禁用日志记录.我假设这是不可能的?
我的工作是创建一个"主"包PackageB,使用SQL任务来获取是否启用日志记录. PackageB将调用PackageA1或PackageA2取决于值 - PackageA1将在PackageA启用日志记录的PackageA2情况下PackageA部署,并将在禁用日志记录的情况下部署.
然而,这使部署变得麻烦而且容易陷入困境.有没有办法完成,至少,类似于我正在寻找的东西?
谢谢!
在数据流任务中说,我有一个OLE DB源.我想提高SSIS的性能.选择较少列的位置是否重要?
在数据库中创建一个SELECT较少列的视图,将其用作源.
在源中键入SQL SELECT以选择较少的列.
选择表格,然后取消选中源中的列.
谢谢
ssis ×10
sql ×3
c# ×2
etl ×2
batch-file ×1
dataflow ×1
excel ×1
explorer ×1
flat-file ×1
linq ×1
performance ×1
select ×1
sql-server ×1
windows ×1
winzip ×1