ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

SSIS向MySQL目标(Destination)写数据--Step By Step

2022-03-09 18:35:04  阅读:232  来源: 互联网

标签:-- 数据源 Destination ODBC SSIS Step MySQL 连接


前言(废话)

最近的工作中涉及到SQLSERVER向MySQL的数据迁移同步,团队中理所当然准备用开发C#微服务接口的方式实现,我觉得这个路子曲折了,推荐SSIS的方式并自告奋勇接下了这个活.不过以前都是sqlserver间互相传数据,还没往MySQL写过数据,没想到处理的过程遇到很多问题,网络上搜索SSIS往MySQL导数据要么说不确定是否可行,要么就说不可行,搞得我都一度怀疑是不是往MySQL写数据本就不可行.为了交付工作,只好放弃了SSIS方案,用SqlServer的"生成脚本"连带整个表的数据批量导出脚本,然后放到MySQL中修改为MySQL的语法再批量执行,算是曲线完成了工作.过了几天因为要做成自动同步,于是又搬出来研究了一番.所幸一堆的踩坑和填坑后,总算解决了.

主要分以下几步实现:

1. 创建ODBC 连接

  • 从MySQL官方网站下载安装ODBC连接驱动Connector/ODBC 8.0
    注意是选择32位版本
    image

  • 创建DSN ODBC数据源
    访问到控制面板,查看方式选择小图标
    image
    依次选择 管理工具/ODBC Data Source(32-bit)/系统DSN/添加
    image
    image
    image
    image

  • 创建ODBC连接
    ①在连接管理器中右键点击"新建连接";
    ②选择ODBC;
    ③在新建界面选择"使用用户名或系统数据源名称",下拉项中选择前面维护的DSN,输入用户名,密码;
    ④设置属性RetainSameConnection=True.
    image

image
image
image

2. 创建ODBC Destination

数据源组件选择普通的"OLE DB源"组件即可.目标组件选择比较多,"OLE DB Destination","ADO NET Destination","ODBC Destination",搜了些资料貌似"ADO NET Destination"是可以的,但我一番踩坑没试出来,我的验证只有"ODBC Destination"是可行的.
image

3. 创建执行SQL任务

执行时会提示语法错误,需要设置一下Mysql的sql_model,创建"执行SQL任务"组件,执行以下语句即可:
SET sql_mode ='STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,ANSI_QUOTES'
注意连接和"ODBC目标"的连接保持一致.
image

参考:

使用SSIS更新MYSQL中的记录
Writing to a MySQL database from SSIS
Connecting to MySQL from SSIS
Creating a Destination with the Script Component

标签:--,数据源,Destination,ODBC,SSIS,Step,MySQL,连接
来源: https://www.cnblogs.com/liyangxiaomeng/p/15986451.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有