我是SSIS的新手,我必须创建一个SSIS包来将数据从一个数据库迁移到另一个数据库.我想通过检查目标数据库中是否存在多个表来启动程序包.如果它们存在,我想截断它们,如果它们不是我想创建它们.什么是最好的方法来做到这一点.
我在包的最顶部有一个简单的查询来返回目标数据库中的所有表
SELECT TABLE_NAME
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_TYPE = 'BASE TABLE'
Run Code Online (Sandbox Code Playgroud)
如何将这些结果传递给下一步,以检查这些表名是否包含在表名列表或数组中
谢谢
任何人都可以告诉我为什么我们在使用合并组件或合并连接组件之前对所有记录进行排序?它背后的确切原因是什么?
我有一个SSIS包,其中有一个Foreach循环容器,可将所有.txt文件加载到静态文件夹中。我正在将完全限定的文件名作为在连接字符串中使用的变量传递。
现在,我只需要将文件名传递给用于执行存储过程的变量,麻烦的是,如果我将Foreach Loop集合更改为仅检索文件名,则会阻止其余文件正常工作。
有没有办法将完全限定和仅名称的文件名传递给sis中的变量?
我有一个'执行SQL任务',它产生一个行数.见屏幕1.
我试图在ssis'脚本任务'中打印'ContactRowCount'.见屏幕2.
但是Dts.Variables ["User :: ContactRowCount"]为空.我可以找回它.任何人都知道如何从脚本任务中的"执行SQL任务"中检索变量值
屏幕 - 1

屏幕 - 2

这是我的要求,我需要从受密码保护的压缩文件中提取文件.我想知道是否有任何代码片段可用.我正在使用SSIS从FTP下载这些压缩文件.是否有我可以使用的4.5框架的最新更新.
更新:
我现在已经引用了该文件并尝试了一个示例,但现在我得到了一个例外,我甚至尝试在我的脚本任务中添加一个断点,但我得到的只是一个例外.
例外:
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()
Run Code Online (Sandbox Code Playgroud)
快照:

码:
try
{
string zipfilePath = @"C:\ZipFiles";
string zipPassword = "qwerty";
using (ZipFile zip = new ZipFile())
{
zip.Password = zipPassword;
zip.AddFile("File-01.txt");
zip.AddFile("File-02.txt");
zip.AddFile("File-03.txt");
zip.AddFile("File-04.txt");
zip.Save(zipfilePath + "AllFiles.zip");
} …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用OLE DB COMMAND在SSIS中进行此更新:
UPDATE
TABLE_A
SET
COLUMN_C = CONCAT(?,' ',?)
FROM
TABLE_A INNER JOIN TABLE_B ON
TABLE_A.ID = TABLE_B.ID
Run Code Online (Sandbox Code Playgroud)
但是当我尝试映射参数时,我收到此消息:
“无法推导出参数类型,因为单个表达式包含两个未键入的参数”
我不知道此查询是否做错了什么,或者是否不可能在一个句子中使用多个参数。
我正在使用VS 2010
我正在寻找最合适和最具成本效益的Azure VM映像,该映像将允许安全访问Web应用程序,该Web应用程序与SSRS实例进行通信,以用于等式的报告方面.我还需要能够使用Web Deploy部署到此VM.
请注意,数据要求处于规模的低端 - 我目前正在我的开发盒上本地运行该东西 - 但是一旦发布它需要来自两个不同域的人可访问.
简而言之,在VM上我需要:
我正在尝试定期填充维度表,我想到了两种为我的维度获取不同值的方法:
我不确定哪一个更好(更高效),或哪个更广泛地采用在该行业.
我尝试使用虚拟数据执行一些测试,但我无法得到一个可靠的答案.
PS SELECT DISTINCT在这里使用来源不是一个选择.
SSIS显示一些无用的"调用目标已抛出错误"以及同样无用的堆栈跟踪,仅显示调用调用.记录已启用.
有没有办法查看包引发的实际异常消息而不附加一些调试器?
我已经看到了很多从AD中提取数据的帖子,但是我需要更新AD,但找不到我想要的东西。我的公司一直在使用第三方供应商(intelli-desk)来安置部门,经理和电话等。信息多年。AD仅用于创建用户名和分配域访问权限。我们知道有必要使用智能办公桌中的信息将AD更新到AD。我已经建立了一个查询,该查询将AD和智能桌面数据库进行比较,并希望获取该查询的结果,其中sn和namedName匹配并更新AD中的Ext。,Dept。等。我当时以为SSIS软件包可能是最好的方法,因此它可以成为计划的工作,因为我认为我们不会停止使用3rd party软件。是否有人对使用SSIS有任何建议,如果有,您将如何处理。
ssis ×10
c# ×2
sql ×2
sql-server ×2
.net-4.5 ×1
azure ×1
bids ×1
debugging ×1
dotnetzip ×1
exception ×1
parameters ×1
script-task ×1
ssis-2012 ×1
ssrs-2008-r2 ×1
task ×1