首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >元数据头痛

元数据头痛
EN

Database Administration用户
提问于 2015-01-22 15:33:11
回答 1查看 559关注 0票数 3

我无法控制的一个进程是每晚在MySQL数据库中删除和重新创建表。如果每次都以相同的方式重新创建表,这不会是一个问题(我认为)。但事实并非如此:每天早上我都会打开我的SSIS项目,我会在随机表/列中得到新的元数据验证错误/警告,因为这一夜间过程将创建长度取决于数据的varchar列,因此昨天我有一个90长度的列,而今天同一表中的同一列现在有208条,明天可能是另一个故事……或者不是。

这个MySQL数据库是我的主要数据源--我在Server上拥有我的暂存数据库,通过链接服务器连接,我使用SSIS从这些表中选择数据并进入server表(添加了几个列),在用远程数据填充它们之前,我要截断这些数据(因此这个临时数据库中的元数据是固定的)。

为什么SSIS需要验证外部元数据?如果我关闭设计时验证,它说它被延迟到运行时--这是否意味着我只会将问题从设计时推到运行时,而仍然得到一个失败的包?

我有一个MySQL脚本可以执行从MySQL到Server暂存表的数据传输,但是该脚本在45分钟内运行,而SSIS包(当所有元数据都是最新的)在大约5分钟内运行--不用说,我更喜欢找到一种方法让SSIS停止抱怨过时的元数据,而不是使用该脚本。

有没有一种方法可以在SSIS中使用数据源的形状转换器并保持我的理智?

EN

回答 1

Database Administration用户

回答已采纳

发布于 2015-01-26 15:22:06

在这种令人不快的情况下,我认为最好的策略是将其与SSIS分开。要么将其移到具有更改视图的链接服务器上,要么使用其他一些etl工具(如powershell脚本)将其从舞蹈模式中移出到一个固定的表中。如果您有任何历史记录,您应该能够猜测一个合理的值,为更高的字段大小。你总是可以把它变成varchar(最大)。我假设MySql正在做一个“select into”来创建表。在任何情况下,MySql都不会对数据做出任何可靠的断言,因此您需要自己去做,才能让SSIS满意。

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/89933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档