将MySQL库的表转入到MSSQL中的某个库中(Employees下的Employees表 → pubs库下)_2
将MySQL库的表转入到MSSQL中的某个库中(Employees下的Employees表 → pubs库下, 此pubs下的表名是employee,不冲突),
方法大致以下几个(另有其他方法待补充),其他 MSSQL to MySQL的以后也可体验下.
1)MySQL ODBC Connector(Link转换)
2)Navicat Premium
3)MSSQL Server版本相对应的SQL Server Migration Assistant for MySQL
--------------------------------------------------------------------------------------------------------------------------------------
本文按照下述步骤进行:
1. 安装驱动(如之前安装过MySQL 里面会配带安装了驱动)
2. 配置ODBC驱动
3. 建立MySQL与MSSQL的连接
4. 在2个数据表之间导入数据
select * into pubs.dbo.employees
from openquery(mysql,'select * from employees.employees')
--------------------------------------------------------------------------------------------------------------------------------------
Info 1)之前就已安装好MySQL 8.0.18,查看MySQL版本:


Info 2)查看MSSQL版本(为了读一些旧代码从MSSQL2014转到了MSSQL2008)
SELECT SERVERPROPERTY('productversion'),
SERVERPROPERTY ('productlevel'),
SERVERPROPERTY ('edition'),
@@version
select @@version

--------------------------------------------------------------------------------------------------------------------------------------
1)ODBC配置
Employees是刚配置(MSSQL2008, 64bit, 为转换MySQL表到MSSQL中去) 
下面数据源有5个的是2019年配置(当时安装MSSQL2014,,为了BarTender连接Excel文件打印标签用)

2)在MSSQL的SQL Server Management Studio的Query中输入:
EXEC master.dbo.sp_addlinkedserver
@server=N'MYSQL',
@srvproduct=N'MySQL',
@provider=N'MSDASQL',
@provstr=N'DRIVER={MySQL ODBC 8.0 ANSI Driver}; SERVER=127.0.0.1;
DATABASE=Employees; USER=root; PASSWORD=123456; OPTION=3'

//点击上面那个链接时,提示下面信息:

(7303问题,还没找到根本的解决方法,稍后继续...)
TITLE: Microsoft SQL Server Management Studio
------------------------------
Failed to retrieve data for this request. (Microsoft.SqlServer.Management.Sdk.Sfc)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&LinkId=20476
------------------------------
ADDITIONAL INFORMATION:
An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Cannot initialize the data source object of OLE DB provider "MSDASQL" for linked server "MYSQL". (Microsoft SQL Server, Error: 7303)
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=7303&LinkId=20476
3)然后再向表中插入数据插表
select * into pubs.dbo.employees
from openquery(mysql,'select * from employees.employees')
--------------------------------------------------------------------------------------------------------------------------
--在MSSQL中需要Employees这个表的数据集时,这个数据自己可能会经常用到用于实验,在Dos命令提示符下执行:
bcp testdb.dbo.Employees in c:\temp\employees.txt -c -T
testdb是我测试用的DBName,Employees是TableName, in(表示导入数据), 后面是Path, 再就是字符类型,信任连接
--------------------------------------------------------------------------------------------------------------------------
将MySQL库的表转入到MSSQL中的某个库中(Employees下的Employees表 → pubs库下)_2的更多相关文章
- mysql下批量清空某个库下的所有表(库不要删除,保留空库)
总所周知,mysql下要想删除某个库下的某张表,只需要切换到该库下,执行语句"drop table tablename"即可删除!但若是该库下有成百上千张表,要是再这样一次次执行d ...
- mysql5.7 mysql库下面的user表没有password字段无法修改密码
如题所述,mysql5.7 mysql库下面的user表没有password字段无法修改密码, 5.7版本已经不再使用password来作为密码的字段了 而改成了authentication_st ...
- 数据库分库分表策略之MS-SQL读写分离方案
MS-SQL读写分离将从以下知识点进行展开: 以下截图内容来自博主:https://www.cnblogs.com/echosong/p/3603270.html 1.本地发布(写库如:centerd ...
- mysql将一个表中字段A的值赋给另一个表的字段B
# mysql 的修改方法 update table_a a inner join table_b b on b.id=a.id set a.description=b.content; # mssq ...
- linux shell命令行下操作mysql 删除mysql指定数据库下的所有表--亲测成功百分百测试通过--绝对可靠
1,在shell提示符下查看mysql指定数据库下的表等数据
- MYSQL优化派生表(子查询)在From语句中的
Mysql 在5.6.3中,优化器更有效率地处理派生表(在from语句中的子查询): 优化器推迟物化子查询在from语句中的子查询,知道子查询的内容在查询正真执行需要时,才开始物化.这一举措提高了性能 ...
- 在mysql数据库中创建Oracle数据库中的scott用户表
在mysql数据库中创建Oracle数据库中的scott用户表 作者:Eric 微信:loveoracle11g create table DEPT ( DEPTNO int(2) not null, ...
- mysql中显示当前数据库下的所有表,包括视图。
环境说明: mysql版本:5.5.57-log 操作系统:Red Hat Enterprise Linux Server release 6.6 (Santiago) 需求:查看当前数据库下所有的表 ...
- MySQL数据库 crud语句 ifnull() 创建新账户 备份数据库 一对多关系 多对多(中间表) 外键约束 自关联 子查询注意事项 DML DDL DQL mysql面试题 truncate与delete的区别
DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL ...
随机推荐
- python基本数据类型;字符串及其方法三:
###################判断类型################### ######################################################### ...
- 杨辉三角(hdu2032)——有待完善
思考:杨辉三角形 #include<stdio.h> #include<cstring> int main() { int n; char d; ][] = {}; while ...
- 在Cent OS云服务器上部署基于TP5后端代码踩坑记录_艾孜尔江撰
推荐使用镜像安装Cent OS系统,或者在纯净安装完成之后在完成Apache+MySQL+PHP的时候不要每个单独安装,因为这样会出一些三者之间版本不配的问题,网上各种说法都有,查起来也非常困难,版本 ...
- python的生成器和迭代器
三.推倒式从时间上比较:集合 字典 元祖 列表 (从小到大)占用内存比较:字典 集合 列表 元祖 (从大到小) 字典是可进行hash操作,操作的是字典的key ,而对list进行hash操作的时候操作 ...
- PIC单片机的定时器
PIC单片机的定时器有3个 timer0 timer1 timer2 定时器的计算方法 256*k*Tcy=定时时间 (256-Init-value)*k*Tcy=定时时间
- SQL查找大小为n的连续区间
数据准备 create table sequence ( seq int not null primary key ); insert into values(3); insert into valu ...
- springboot系列——重试机制原理和应用,还有比这个讲的更好的吗(附完整源码)
1. 理解重试机制 2. 总结重试机制使用场景 3. spring-retry重试组件 4. 手写一个基于注解的重试组件 5. 重试机制下会出现的问题 6. 模板方法设计模式实现异步重试机制 如果有, ...
- 用python编写测试脚本
def f(n): """ >>>f(1) 1用例 >>>f(2) 2用例 ...... >>>f(n) n用例 & ...
- Bank3
Account: package banking3; //账户 public class Account { private double balance;// 账户余额 public Account ...
- return break 和continue在for循环中的不同作用
平时自己经常在函数里见到return,在switch语句中使用break,而continue则用的不多. 其实这三者都能在for循环中发挥不同的作用,让代码更加灵活. 先说return return是 ...