使用SSIS将数据从MySQL传输到SQL Server期间出现超时问题

使用SSIS将数据从MySQL传输到SQL Server期间出现超时问题,mysql,ssis,timeout,Mysql,Ssis,Timeout,我正在尝试使用将67714854行从MySQL传输到SQL Server。传输14282990行后,包超时。我也将超时属性更改为0,但这没有帮助 如何解决此问题?MySQL是否向您提供了错误信息,或者您是否正在使用PHP(或其他语言)传输数据,是否超时?在后一种情况下,在PHP中,可以使用以下命令将脚本超时设置为无限: set_time_limit(0); 无论哪种方式,基于给定的信息,我不确定它是什么类型的数据库,但通常我会设置一个脚本来逐位传输数据,以便将负载保持在可接受的水平。请提供更多

我正在尝试使用将67714854行从MySQL传输到SQL Server。传输14282990行后,包超时。我也将超时属性更改为0,但这没有帮助


如何解决此问题?

MySQL是否向您提供了错误信息,或者您是否正在使用PHP(或其他语言)传输数据,是否超时?在后一种情况下,在PHP中,可以使用以下命令将脚本超时设置为无限:

set_time_limit(0);

无论哪种方式,基于给定的信息,我不确定它是什么类型的数据库,但通常我会设置一个脚本来逐位传输数据,以便将负载保持在可接受的水平。请提供更多信息…

关于OLE DB目标连接,您选择了什么“数据访问模式”。如果选择了“表或视图-快速加载”(这是默认设置),则将指定“最大插入提交大小”。您可以尝试以下两种方法之一:1)将提交大小更改为更大的数字;或2)尝试其他数据访问模式“Table或vew”。由于您得到了超时错误,我怀疑选项1可能没有帮助(因为您已经得到了一个较小值的超时),所以请尝试选项2。虽然这可能会导致性能降低,但实际上可能会成功完成。(然后您可以尝试@Siva的方法,并将输出分割到多个目的地以提高性能)

(注意:我指的是SQL Server 2008 R2中提供的功能,如果您使用的是以前的版本,则可能会略有不同)


如果上述操作都不起作用,您还可以尝试通过运行SQL Server导入向导从头开始创建新的SSIS包(在SQL Server Management Studio中右键单击您的数据库,然后选择“任务/导入数据”。按照向导屏幕操作,在接近尾声时确保选中此框以保存SSIS包,并选择要将其保存到的文件位置。通常,生成的SSIS包将是一个功能包(然后,您还可以对其进行任何进一步的修改)。

我找到了一个黑客解决方案。这在您的查询结束时是有限制的。我在ADO.NET连接到MySQL时遇到了同样的问题。虽然它没有解决问题。但它至少完成了工作

SSIS:2208 R2。
MySQL:5.0

如果您为SSI付费,这不是供应商支持的吗?有没有理由不分成7个1000万行的传输?我的源是MySQL,目标是sql server。我在oledb源转换中使用了从表中选择所有列。您能告诉我如何以及什么是cron脚本谢谢您的回复,如果您是使用SQL时,您无法编写cron脚本。cron脚本基本上是一个脚本,您可以让系统以设定的时间间隔自动运行。这将允许您逐位移动数据。但是,这需要一种单独的语言,如php,因为它需要跟踪移动的最后一行。cron脚本将使用指示id(/row)范围的附加WHERE子句。您显然可以手动执行此操作,但这可能会很繁琐。添加WHERE id>=n1和id限额使它起作用了。希望我知道为什么。