用于集成MSSQL和MySql数据库的SSIS包创建

用于集成MSSQL和MySql数据库的SSIS包创建,mysql,sql-server,ssis,bids,data-integration,Mysql,Sql Server,Ssis,Bids,Data Integration,我正在尝试创建一个SSIS包来集成MSSQL和MYSQL。我之前没有处理Bids或SSI以及遵循来自的指示的经验 我将OLE DB源、查找、条件拆分、OLE DB目标和OLE DB命令组件添加到数据流中,并将连接管理器和列映射配置为条件拆分组件 从这里开始,我面临两个问题: 1) 配置OLE DB目标后,组件上会显示错误符号,表示无法在unicode和非unicode字符串数据类型之间转换。为了解决这个问题,我尝试在条件拆分和目标之间插入一个数据转换组件,并为有问题的列配置它。但这似乎没有帮助

我正在尝试创建一个SSIS包来集成MSSQL和MYSQL。我之前没有处理Bids或SSI以及遵循来自的指示的经验

我将OLE DB源、查找、条件拆分、OLE DB目标和OLE DB命令组件添加到数据流中,并将连接管理器和列映射配置为条件拆分组件

从这里开始,我面临两个问题:

1) 配置OLE DB目标后,组件上会显示错误符号,表示
无法在unicode和非unicode字符串数据类型之间转换。为了解决这个问题,我尝试在条件拆分和目标之间插入一个数据转换组件,并为有问题的列配置它。但这似乎没有帮助

2) 配置OLE DB命令时,列映射选项卡中的右侧列显示零列。我添加了带有问号的Sql命令,所以如果我没有错的话,我想它应该显示名为“Param_0”、“Param_1”等列。我甚至尝试从“输入和输出属性”选项卡手动添加它们,但随后它显示了警告,
OLE DB命令的外部列与数据源不同步

我错过了什么


谢谢你用这种方式描述你的第一个问题,听起来应该行得通。这里有一些东西需要检查

  • 数据转换组件为转换后的数据创建一个新列。确保在以下转换和目标中引用了它
  • 右键单击数据转换组件并选择高级编辑器。在高级编辑器中选择“输入和输出属性”选项卡。展开树状视图的“数据转换输出”分支,然后选择新列。确保数据类型属性也显示要转换的数据类型。如果这些值不正确,则说明组件中的设置不正确

  • 对于第二个问题,该问题通常由SqlCommand值的错误引起。首先,确保“连接管理器”选项卡上的连接管理器正确。切换到“列映射”选项卡。在表单底部附近,可能会有一条警告消息,指示无法准备SQL语句。换句话说,SSI无法理解该语句应该做什么。解决SQL语句的任何问题,并切换回“列映射”选项卡。一旦SQL语句可以被解析,这些列就会出现。

    按照您描述第一个问题的方式,听起来应该是可行的。这里有一些东西需要检查

  • 数据转换组件为转换后的数据创建一个新列。确保在以下转换和目标中引用了它
  • 右键单击数据转换组件并选择高级编辑器。在高级编辑器中选择“输入和输出属性”选项卡。展开树状视图的“数据转换输出”分支,然后选择新列。确保数据类型属性也显示要转换的数据类型。如果这些值不正确,则说明组件中的设置不正确

  • 对于第二个问题,该问题通常由SqlCommand值的错误引起。首先,确保“连接管理器”选项卡上的连接管理器正确。切换到“列映射”选项卡。在表单底部附近,可能会有一条警告消息,指示无法准备SQL语句。换句话说,SSI无法理解该语句应该做什么。解决SQL语句的任何问题,并切换回“列映射”选项卡。一旦可以解析SQL语句,这些列就会出现。

    如果要避免转换问题,请将目标表列类型从char/varchar更改为nchar/nvarchar。我很确定您将需要为mysql源和目标使用ADO连接器,您应该能够从mysql源读取数据,并使用源和目标组件以外的任何组件写入mssql数据库。

    如果您想避免转换问题,请将目标表列类型从char/varchar更改为nchar/nvarchar。我敢肯定,您需要使用ADO连接器来连接mysql源和目标,您应该能够从mysql源读取数据,并使用源和目标组件以外的任何组件写入mssql数据库。

    您是否正在执行一次性迁移?还是增量加载?如果您的意思是只迁移一次,那么就不是了。每天都会在特定的时间安排一个作业,将当天对mssql db的所有新更改复制到mysql。两个数据库将位于同一台服务器上。是否执行一次性迁移?还是增量加载?如果您的意思是只迁移一次,那么就不是了。每天都会在特定的时间安排一个作业,将当天对mssql db的所有新更改复制到mysql。两个数据库将在同一台服务器上。您好,谢谢您的详细回答。不幸的是,我现在几天都不能尝试这个。将尝试使用更新返回。谢谢,谢谢你的详细回答。不幸的是,我现在几天都不能尝试这个。将尝试使用更新返回。谢谢