Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用SSI将数据从mysql上传到ssms_Mysql_Sql Server_Ssis_Ssms_Upsert - Fatal编程技术网

如何使用SSI将数据从mysql上传到ssms

如何使用SSI将数据从mysql上传到ssms,mysql,sql-server,ssis,ssms,upsert,Mysql,Sql Server,Ssis,Ssms,Upsert,如何使用SSI和不使用查找来插入新数据或将数据从一个表更新到另一个表(从MySQL到SQL server)。一种常见的方法是将新数据插入到空的临时表中,然后运行SQL Merge命令(使用单独的SQL查询任务) MERGE命令功能强大,可以进行更新、插入甚至删除。请参见此处合并的完整说明: 执行此操作的常见方法是将新数据插入空临时表,然后运行SQL Merge命令(使用单独的SQL查询任务) MERGE命令功能强大,可以进行更新、插入甚至删除。请参见此处合并的完整说明: 这方面的设计如下所示:

如何使用SSI和不使用查找来插入新数据或将数据从一个表更新到另一个表(从MySQL到SQL server)。

一种常见的方法是将新数据插入到空的临时表中,然后运行SQL Merge命令(使用单独的SQL查询任务)

MERGE命令功能强大,可以进行更新、插入甚至删除。请参见此处合并的完整说明:

执行此操作的常见方法是将新数据插入空临时表,然后运行SQL Merge命令(使用单独的SQL查询任务)

MERGE命令功能强大,可以进行更新、插入甚至删除。请参见此处合并的完整说明:

这方面的设计如下所示:

您将有4个表和1个视图:Source、TMP_Dest(与没有主键的Source完全相同)、CHG_Dest(对于更改,与没有主键的destination完全相同)、Dest(将有主键)、FV_TMP_Dest(如果destination看起来与Source不同-不同的字段类型)

SSIS包:

1.使用ExecuteSQLSTASK并截断TMP_Dest,因为它只是提取数据的临时数据

使用ExecuteSQlTask并截断CHG_Dest,因为它只是提取数据的临时数据

使用一个DataFlowTask将数据从源加载到TMP_Dest

定义两个变量OperationIdSert=1和OperationIDUpdate=2(这些值并不重要,您可以根据需要进行设置)->您将在5处使用它们。下一点

使用另一个DataFlowTask,其中您将有:

在左侧的OLE DB源中,您将从视图中提取数据,按PK排序(不要忘记从高级编辑器中为PK字段设置SortKeyPosition)

在右侧的OLE DB源中,您将从按PK排序的Dest中提取数据(不要忘记从高级编辑器中为PK字段设置SortKeyPosition)

这两者之间的左连接

在左侧(“插入侧”),您将有:一个派生列,其中您将指定OperationIDInsert变量作为表达式,以及一个OLE DB目标,用于在CHG_Dest表中插入数据。通过这种方式,您将插入必须插入到目标表中的数据,您知道这一点,因为您有OperationIDInsert列

在右侧,您将执行相同的操作,但使用OperationIDUpdate列

您将在控制流中使用ExecuteSQLSTASK,并将有一个SQL合并。根据PK字段和OperationIDInsert/OperationIDUpdate字段,您将插入或更新数据


希望这对你有帮助。如果您需要其他信息,请告诉我。

此功能的设计如下所示:

您将有4个表和1个视图:Source、TMP_Dest(与没有主键的Source完全相同)、CHG_Dest(对于更改,与没有主键的destination完全相同)、Dest(将有主键)、FV_TMP_Dest(如果destination看起来与Source不同-不同的字段类型)

SSIS包:

1.使用ExecuteSQLSTASK并截断TMP_Dest,因为它只是提取数据的临时数据

使用ExecuteSQlTask并截断CHG_Dest,因为它只是提取数据的临时数据

使用一个DataFlowTask将数据从源加载到TMP_Dest

定义两个变量OperationIdSert=1和OperationIDUpdate=2(这些值并不重要,您可以根据需要进行设置)->您将在5处使用它们。下一点

使用另一个DataFlowTask,其中您将有:

在左侧的OLE DB源中,您将从视图中提取数据,按PK排序(不要忘记从高级编辑器中为PK字段设置SortKeyPosition)

在右侧的OLE DB源中,您将从按PK排序的Dest中提取数据(不要忘记从高级编辑器中为PK字段设置SortKeyPosition)

这两者之间的左连接

在左侧(“插入侧”),您将有:一个派生列,其中您将指定OperationIDInsert变量作为表达式,以及一个OLE DB目标,用于在CHG_Dest表中插入数据。通过这种方式,您将插入必须插入到目标表中的数据,您知道这一点,因为您有OperationIDInsert列

在右侧,您将执行相同的操作,但使用OperationIDUpdate列

您将在控制流中使用ExecuteSQLSTASK,并将有一个SQL合并。根据PK字段和OperationIDInsert/OperationIDUpdate字段,您将插入或更新数据

希望这对你有帮助。如果您需要其他信息,请告诉我。

检查此:和可能的副本检查此:和可能的副本