SSIS疑难杂症

SSIS疑难杂症

0
投票
3
回答
3112
浏览

ssis 包加密

我想静静 回复了问题 • 2018-07-25 18:15
0
投票
1
已解决
1760
浏览
0
投票
1
已解决
1735
浏览
0
投票
2
已解决
1558
浏览
0
投票
3
回答
3013
浏览
0
投票
2
已解决
2850
浏览
0
投票
2
回答
2993
浏览
0
投票
1
已解决
2774
浏览

SSIS条件性拆分

BIWORK 回复了问题 • 2015-09-28 12:19
0
投票
3
已解决
2639
浏览

SSIS包执行顺序问题

天桥下的郑成功 回复了问题 • 2015-09-24 09:10
条新动态, 点击查看
天桥下的郑成功

天桥下的郑成功 回答了问题 • 2015-09-06 18:21 • 2 个回复 不感兴趣

SSIS双击源文件中的包,运行报错

赞同来自:

你仔细检查一下,你的数据源管理器是不是 project类型的。然后你部署的时候是单包方式部署
你仔细检查一下,你的数据源管理器是不是 project类型的。然后你部署的时候是单包方式部署
是项目类型的话,每次必须全部部署 不能单独。
若是想单独导入一个包,自己去SSISDB里单独导入包 从文件
是项目类型的话,每次必须全部部署 不能单独。
若是想单独导入一个包,自己去SSISDB里单独导入包 从文件
可以参考这个图对比了解各个控件的使用特点:
5691
具体的文章可以参考:
Merge, Merge Join, Union All 合并组件的使用以及Sort 排序组件同步异步的问题 http://www.cnblogs.com/biwork/p/33... 显示全部 »
可以参考这个图对比了解各个控件的使用特点:
5691
具体的文章可以参考:
Merge, Merge Join, Union All 合并组件的使用以及Sort 排序组件同步异步的问题 http://www.cnblogs.com/biwork/p/3308846.html
 
主要有几个插件你需要用到的,ADO NET Source(源)、Lookup(匹配)、OLE DB Command(更新)、OLE DB Destination(插入)如下图所示:
1、先链接数据源,我链接是mysql的数据源
2、匹配源与目标的字段,是否存... 显示全部 »
主要有几个插件你需要用到的,ADO NET Source(源)、Lookup(匹配)、OLE DB Command(更新)、OLE DB Destination(插入)如下图所示:
1、先链接数据源,我链接是mysql的数据源
2、匹配源与目标的字段,是否存在,如果存在就更新,如果不存在就插入
3、更新、插入的插件需要根据你的需要更新。
可以使用 Conditional Split 条件分拆控件解决这个问题,在条件判断的时候写表达式判断这一列是否为空,如果不为空则是一个输出;可以接着这个输出与 SQL Command 组件结合使用去插入或者更新数据库。为空的话不处理,没有输出,这样就可以了。
可以使用 Conditional Split 条件分拆控件解决这个问题,在条件判断的时候写表达式判断这一列是否为空,如果不为空则是一个输出;可以接着这个输出与 SQL Command 组件结合使用去插入或者更新数据库。为空的话不处理,没有输出,这样就可以了。
为什么只需要获取文件的第一行所有数据而不是所有数据呢?
 
实现是可以实现的,给你一个提示但需要你自己尝试实现,具体思路如下:
1.  在数据流中使用 Script Component 的 Transformation 功能,由于 Script Compone... 显示全部 »
为什么只需要获取文件的第一行所有数据而不是所有数据呢?
 
实现是可以实现的,给你一个提示但需要你自己尝试实现,具体思路如下:
1.  在数据流中使用 Script Component 的 Transformation 功能,由于 Script Component 每次默认处理一行,因此你可以在里面通过脚本做一个简单的计数功能。
2. 在 Script Component 输出中判断如果是第一行计数就指定一个输出列,如果是第二行就不处理。
3. 在 Script Component 控件后添加一个 Conditional Split 判断输出列是否有值,有值就继续输出没有值就不做处理,这样流到目标表中就只会是第一行的数据。
 
总之,可以借助 Script Component 需要自己动手写一段脚本来处理,暂时没有现成的案例提供,这种需求很少见。
 
 
用Foreach控件,循环整个目录。
然后选择循环所有文件*.* 或者 还是指定扩展名*.txt
然后在Foreach里面加一个DataFlow, DataFlow里用FlatFileSource,把之前循环的文件加载过来
接下来就可以读取这个文件了
... 显示全部 »
用Foreach控件,循环整个目录。
然后选择循环所有文件*.* 或者 还是指定扩展名*.txt
然后在Foreach里面加一个DataFlow, DataFlow里用FlatFileSource,把之前循环的文件加载过来
接下来就可以读取这个文件了
5909
5910
5911
5912
 
在 Script Component 中就可以实现,可以在 SSIS 中定义变量,再传入 Script Component。
 
通过 C# 代码在 Script Component 中读取文件,可以实现你说的这种比较功能,根据比较的结果再赋值给变量,Scri... 显示全部 »
在 Script Component 中就可以实现,可以在 SSIS 中定义变量,再传入 Script Component。
 
通过 C# 代码在 Script Component 中读取文件,可以实现你说的这种比较功能,根据比较的结果再赋值给变量,Script Component 运行结束就可以拿到变量的结果。
 
参考这两篇文章,看看如何通过 Script Task 或者 Script Component 传入变量并计算的,最后可以赋值给变量,中间的过程需要你自己动手实现 C# 编码。
http://www.flybi.net/blog/biwork/577 微软BI 之SSIS 系列 - 使用 Script Task 访问非 Windows 验证下的 SMTP 服务器发送邮件
http://www.flybi.net/blog/biwork/579 微软BI 之SSIS 系列 - MVP 们也不解的 Scrip Task 脚本任务中的一个 Bug
获取变量-
// User Information
String loginUser = Dts.Variables["User::PV_LOGIN_USER"].Value.ToString();
String loginPwd = Dts.Variables["User::PV_LOGIN_PWD"].Value.ToString();
赋值给变量
6097
 

 
如果有别的操作在锁住你要修改的行,就会造成死锁
你可以用SqlProfile进行监控一下,看看到底是哪个地方的操作导致了死锁
如果有别的操作在锁住你要修改的行,就会造成死锁
你可以用SqlProfile进行监控一下,看看到底是哪个地方的操作导致了死锁
箕山小道

箕山小道 回答了问题 • 2015-09-23 21:00 • 3 个回复 不感兴趣

SSIS包执行顺序问题

赞同来自:

1:SSIS 运行包后 “进度的任务展示顺序 只与各任务的命名有关,与 任务的运行顺序无关
任务展示按命名(命名的字母)排序
任务运行按设计的逻辑运行(具体可见每个任务的结束时间)
(运行环境为 SQL SERVER 2008R2)
详细解答见附图

613... 显示全部 »
1:SSIS 运行包后 “进度的任务展示顺序 只与各任务的命名有关,与 任务的运行顺序无关
任务展示按命名(命名的字母)排序
任务运行按设计的逻辑运行(具体可见每个任务的结束时间)
(运行环境为 SQL SERVER 2008R2)
详细解答见附图

6135
 
BIWORK

BIWORK 回答了问题 • 2015-09-28 12:19 • 1 个回复 不感兴趣

SSIS条件性拆分

赞同来自:

这个不是属于条件拆分的话题和内容,这个就是一个关联查询。
 
比如在数据流中的 OLE DB Source 控件中可以用表做数据源,也可以自己写 SQL 查询语句,既然数据源是同一个库中的多张表,那么直接就可以写一个 SQL JOIN 查询将多张表关联起来就可... 显示全部 »
这个不是属于条件拆分的话题和内容,这个就是一个关联查询。
 
比如在数据流中的 OLE DB Source 控件中可以用表做数据源,也可以自己写 SQL 查询语句,既然数据源是同一个库中的多张表,那么直接就可以写一个 SQL JOIN 查询将多张表关联起来就可以了。
 
或者参考我的这篇文章使用 Merge Join 或者 UNION ALL 来合并数据。
http://www.flybi.net/blog/biwork/998
微软BI 之SSIS 系列 - Merge, Merge Join, Union All 合并组件的使用以及Sort 排序组件同步异步的问题
 
GeorgeYao

GeorgeYao 回答了问题 • 2016-09-23 17:18 • 2 个回复 不感兴趣

SSIS 连接mysql 提示此连接可能已损坏

赞同来自:

根据你反应的问题,你可以尝试重新配置一下ODBC;如下图中:

23574
 
根据你反应的问题,你可以尝试重新配置一下ODBC;如下图中:

23574
 
醉笑天风

醉笑天风 回答了问题 • 2016-10-14 14:50 • 1 个回复 不感兴趣

SSIS 从SQL Server 导入Mysql 速度极慢

赞同来自:

这个目前也没有太好的办法,我后面调了一下,1万数据大概要2~5分钟
这个目前也没有太好的办法,我后面调了一下,1万数据大概要2~5分钟
需要下载MySQL的数据驱动程序,然后安装。像通过ole db连接oracle我就是下载的ODTwithODAC
需要下载MySQL的数据驱动程序,然后安装。像通过ole db连接oracle我就是下载的ODTwithODAC
你要修改的变更值是怎么传递给组件内部的,设置传入变量的时候注意下是有两种方式的,只读和读写。
你要修改的变更值是怎么传递给组件内部的,设置传入变量的时候注意下是有两种方式的,只读和读写。
0
投票
2
已解决
7176
浏览
0
投票
3
回答
3112
浏览

ssis 包加密

我想静静 回复了问题 • 2018-07-25 18:15
0
投票
1
已解决
1735
浏览
0
投票
2
已解决
1558
浏览
0
投票
3
回答
3013
浏览
0
投票
2
已解决
2850
浏览
0
投票
2
回答
2993
浏览
0
投票
1
已解决
2774
浏览

SSIS条件性拆分

BIWORK 回复了问题 • 2015-09-28 12:19
0
投票
3
已解决
2639
浏览
  SSIS常见的疑难问题汇总