问题标签 [script-task]
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:Try/Catch 在脚本转换中不起作用
我花了几个小时来弄清楚我的脚本转换出了什么问题。我有用于将数据从平面文件加载到数据库的 SSIS。这个数据很乱,列数不定,时不时有空行。所以我创建了脚本转换来处理可变列数的问题并检测那些空行或意外的换行符。这是我的 Input0_ProcessInputRow 的代码:
它可以完美地处理正确的数据,但是当出现像空白行这样的错误时,我想通过捕获 Exception 来捕获它,并用错误所在的行显示 MsgBox。但这不能按预期工作 - 在运行时,脚本转换失败并出现一般错误(用户脚本中的运行时错误)。奇怪的是,当我在 catch 块上设置断点时,在运行时,执行挂起,Visual Studio 编辑器打开和关闭,转换完成忽略任何错误......有人能帮忙吗?谢谢。
reference - 在 SSIS 任务脚本中启用非签名引用
据我所知,SSIS 引用必须是强名称(签名)。问题是:我可以更改 SSIS 首选项以允许使用对未签名程序集的引用吗?问候,汤姆
sql-server - 使用 SSIS 将 REST Web 服务中的数据插入数据库
我想JSON
从 REST Web 服务中提取数据,并使用 SQL Server Integration Services 中的脚本任务将其插入到 SQL Server 数据库中。任何人都知道一步一步的教程或从哪里开始寻找完成这项任务。提前致谢。
ssis - 来自 SSIS 脚本任务的 FTP 连接
我正在尝试使用 SSIS 脚本任务从 FTP 服务器下载文件,我正在使用类“ftpClientConnection”类,并尝试使用“ReceiveFiles”方法将文件从 FTP 位置下载到我的本地文件夹。但是我遇到了一些异常错误,当我调试脚本任务时,我发现异常发生在“ftp.connect()”行中。在为“ftpClientConnection”创建对象时,我已经传递了所有必需的参数。要以其他方式进行调试,我只是尝试使用 FTP 任务,即使在这里我也收到“无法建立连接”的错误。仅供参考,我可以使用我在脚本任务和 FTP 任务中提供的服务凭据登录到 FTP 位置。
PS:我是 VB.net 的新手
代码在这里
我在“ftp.connect()”行得到了一个例外
c# - Logging the list of files from Script Task to SQL table
I have a list of files from a local folder in a SSIS Script task and I need to log it to a SQL table. Is there any way that I can do it directly from the script task or may be put the results in a object variable and then populate that to a SQL table. I am not taking the option of For Each Loop container since I feel I can log more details from a Script task.
Code:
I would like to lof each FileList and FileLoc as individual columns in a table.
PS: I am new to C#.
c# - 从受密码保护的 Zip 文件中提取
这是我的要求,我需要从受密码保护的压缩文件中提取文件。我想知道是否有任何可用的代码片段。我正在使用 SSIS 从 FTP 下载这些压缩文件。我可以使用 4.5 框架的最新更新吗?
更新:
我现在已经引用了该文件并尝试了一个示例,但现在我遇到了一个异常,我什至尝试在我的脚本任务中添加一个断点,但我得到的仍然只是一个异常。
例外:
快照:
代码:
PS:我是 C# 新手
vb.net - 复制和重命名文件 VB 脚本不适用于 SSIS 脚本任务
我正在使用 Excel 模板为 SSIS 包动态创建报告。我正在尝试复制 Excel 模板并在脚本任务对象中使用 VB 2010 重命名它。
以下是我的代码:
我改为If File.Exists(destPath) = True Then...
查看If File.Exists(sourcePath) = True...
是否sourcePath
存在,然后MessageBox("File doesn't exist")
在ELSE
语句中添加一个,因此即使源文件存在并且它正在返回MessageBox
声明
模板文件在那里,我将地址从 Windows 资源管理器窗口复制并粘贴到sourcePath
字符串中,以确保路径的准确性。
是在不同的sourcePath
服务器上。
该文件位于源路径中。
我究竟做错了什么?
谢谢
c# - 脚本任务中的“调用目标引发了运行时错误异常”
我有一个带有脚本任务的 SSIS 包,当我尝试在本地系统中运行它时出现以下错误。它适用于我的同事以及生产环境。但是,我无法在本地运行它来测试。我在主方法中保留了一个调试点,但从未达到,在它进入主方法之前我得到了错误。
我正在使用 VS 2010,.Net 框架 4.5。
脚本任务会编译。我收到以下消息 SSIS 包“..\Test.dtsx”开始。错误:0x1 测试:调用目标已引发异常。任务失败:测试 SSIS 包“..\Test.dtsx”完成:成功。程序“[2552] DtsDebugHost.exe:DTS”已退出,代码为 0 (0x0)。
以下是代码:
当我评论来自 TfsTeamProjectCollection objTPC = new TfsTeamProjectCollection(new Uri(strTPCUrl)); 的代码时 脚本成功执行。但是,如果我保留 TfsTeamProjectCollection objTPC = new TfsTeamProjectCollection(new Uri(strTPCUrl)); 并评论其余的,我得到了例外。我确实可以访问该 URL。
我在脚本任务中使用 Microsoft.TeamFoundation.Client.dll 和 Microsoft.TeamFoundation.WorkItemTracking.Client.dll。但是包中的dll版本是10.0,而我的GAC中的dll版本是12.0。这会导致问题吗?
ssis - 从 SQL 代理运行时 SSIS 脚本任务失败
我已经删除并重写了这个问题,因为我认为我并不清楚,这引起了一些挫败感。
我有一个创建和填充 Excel 工作表的 SSIS 包,该包完美运行并根据需要创建文件,并且可以从 SQL Server 代理按计划执行,没有任何问题。
当我尝试执行脚本任务时,问题就出现了,该任务执行一些 VB 脚本以删除 excel 文件中的特定行。
现在这在 BIDS 环境中完美运行,并且完全符合我的需要。但是,一旦部署了包,作业就会失败并出现错误
来源:删除标题行描述:System.Reflection.TargetInvocationException:调用目标已引发异常。---> System.Runtime.InteropServices.COMException (0x800A03EC):Microsoft Excel 无法访问文件“G:\Folder\Folder1\Status File\Status26032015.xls”。有几个可能的原因: ? 文件名或路径不存在。? 该文件正被另一个程序使用。? 您尝试保存的工作簿与当前打开的工作簿同名。
该包以 ServerName\Administrator 的形式执行,它确实可以访问 G:(因为它在创建文件时会失败,因为这是使用相同的变量完成的)。我检查过的所有文章都指向 SQL Server 代理权限,但是由于 90% 的工作都在运行,其中包括在 G 驱动器中创建一个文件,它肯定必须具有访问权限。
variables - OLEDB 源不接收来自 Skrip 任务的 Sql 语句
我的脚本任务有问题。我有一个包,其中 Foreach 循环容器包含将 Sql 语句创建为变量的 Skriptask。变量被提前定义并包含默认值
在执行 SkriptTask 后,我试图创建必须从变量中获取 SqlStatment 的 DataFlow(OLEDB 源),但实际上 OLEDB 是从变量中获取默认值,而不是从脚本中获取新值。
我想念的选项在哪里?
非常感谢!
更新:
Case "feed" MsgBox("FEED") If CStr(Dts.Variables("ExecutionFlag").Value) = "1" Then Dts.Variables("FEED").Value = "SELECT [SymbolName] ,[Bid], [Ask],[TickTime],[server],[ServerID],[LastUpdate] FROM FEED where cast(" & ColumnDateFilter & " as date) between '" & FromDate & "' and '" & ToDate & "'" MsgBox (Dts.Variables("ExecutionFlag").Value.ToString) ElseIf CStr(Dts.Variables("ExecutionFlag").Value) = "0" Then Dts.Variables("FEED").Value = " SELECT [SymbolName] , [Bid],[Ask],[TickTime],[server],[ServerID],[LastUpdate] FROM FEED" End If