SQL Server的数据导入MySQL数据库方法简介

【导读】本文介绍将存放在sql server数据库中的数据全部导入到mysql数据库中的两种方法。

第一种是安装mysql ODBC,利用sql server的导出功能,选择mysql数据源,进行数据的直接导出,这种方法很简便,但是针对实际应用有很多弊端,最主要体现就是数据类型问题,首先,sql server数据库中的ntext,image等数据类型的数据无法直接写入到mysql数据库中,据说只要稍加改动就可以,可惜偶这只菜鸟还没想到如何改动,其次,因为偶在mysql中的数据库设计中将时间都设成int型(保存的是时间戳),所以在数据导过来后,就会出现冲突,再次,这种方法生成的mysql数据表的字段类型都不很合适,所以此种方法我觉得不能提倡。

第二种是利用php或asp脚本来实现数据的导入功能,这种方法需要编写程序,但灵活性大,操作也不是那么困难,一切都尽在你的掌握之中,现简单介绍一下该方法。前提条件是你的mysql环境已经搭建好了,先建好目标数据库,再将所有的表结构用sql语句生成,现在万事具备,只缺数据了。

可以通过下面的php脚本来实现sql server中mydb数据库的user表中数据向mysql中mydb数据库导入:

<?
$cnx = odbc_connect('web', 'admin', '123456');
  //'web'是sqlserver中mydb的数据源名,
  'admin'是访问mydb的用户名,'123456'是访问mydb的密码
$cur= odbc_exec( $cnx, 'select * from user' );
  //打开sql server中mydb数据库的user表
$num_row=0;
$conn=mysql_pconnect("localhost","root","123456");
  // 连接mysql
@mysql_select_db('mydb',$conn) or
die("无法连接到数据库,请与管理员联系!");
  //打开mysql的mydb数据库
while( odbc_fetch_row( $cur ))
  //从sql server的mydb库中的user表逐条取出数据,如果对数据进行选择,
  可在前面的select语句中加上条件判断
{
$num_row++;
$field1 = odbc_result( $cur, 1 );
  // 这里的参数i(1,2,3..)指的是记录集中的第i个域,
  你可以有所选择地进行选取,fieldi得到对应域的值,然后你可以对fieldi进行操作
$field2 = odbc_result( $cur, 2 );
$field3 = odbc_result( $cur, 3 );
$field4 = odbc_result( $cur, 4 );
$field5 = odbc_result( $cur, 5 );
$field6 = odbc_result( $cur, 6 );
$field5 = timetoint($field5); //这里是对sql server中的datetime类型
  的字段进行相应转换处理,转换成我所需要的int型
$querystring = "insert into user
(id,name,username,password,recdate)
values('$field1','$field2','$field3','$field4','$field5')" ;
mysql_query($querystring,$conn);
}
function timetoint($str){
$arr1=split(" ",$str);
$datestr=$arr1[0];
$timestr=$arr1[1];
$arr_date=split("-",$datestr);
$arr_time=split(":",$timestr);
$year=$arr_date[0];
$month=$arr_date[1];
$day=$arr_date[2];
$hour=$arr_time[0];
$minute=$arr_time[1];
$second=$arr_time[2];
$time_int=mktime($hour,$minute,$second,$month,$day,$year);
return $time_int;
}
?>

时间: 2024-09-03 18:27:36

SQL Server的数据导入MySQL数据库方法简介的相关文章

excel数据导入mysql数据库二种方法

下面我们要讲二种excel数据导入mysql教程数据库教程方法了,这二种方法比较简单,也是很方便的,以前我把excel数据导入到mysql数据库都是用php教程程序来实例,现在我们不需要程序,用现有的工具就行了. 方法一,利用phpmyadmin把excel数据导入mysql数据库方法如下 这是excel的,必须是这种样子的. 在phpmyadmin导入文件的格式应该如上图配置.(注意一点,导入的excel表的结构必须与mysql数据表的结构,数据类型等一致就ok了.否则会导入失败的. 方法二,

SQL Server 迁移数据到MySQL

原文:SQL Server 迁移数据到MySQL 一.背景 由于项目开始时候使用的数据库是SQL Server,后来把存储的数据库调整为MySQL,所以需要把SQL Server的数据转移到MySQL:由于涉及的表比较多,所以想在MySQL中生成对应表并导入数据: 上网找了些资料,如:将ACCESS和MSSQL导入MYSQL中.MySQL Migration 实现 MSSQL 到 MySQL数据迁移,虽然不知道里面的做法是否可以成功转移,但是里面的过程比较复杂,没有去尝试,后来自己找到了方法,最

PHP通过SQL语句将数据写入MySQL数据库指定的表

PHP向MySQL数据库中写入数据有三个步骤: 1,PHP和MySQL建立连接关系 2,打开MySQL数据库 3,接受页面数据,PHP录入到指定的表中 1.2两步可直接使用一个数据库链接文件即可:conn.php <?php mysql_connect("localhost","root","");//连接MySQL mysql_select_db("hello");//选择数据库 ?> 当然,前提是已经安装WEB

oracle数据导入mysql数据库日期格式问题

问题描述 oracle数据导入mysql数据库日期格式问题 从oralce数据库导出日期格式数据为 to_date('13-04-2015 16:40:12', 'dd-mm-yyyy hh24:mi:ss'), 如何把它修改为yyyy-mm-dd的形式存储到mysql数据库中,由于数据比较多,一条条修改太过麻烦,有没有什么好的方法 解决方案 参考import CSV to MySQL and convert date LOAD DATA LOCAL INFILE '/Users/Path/To

SQL Server Migration Assistant for MySQL使用方法

  SQL Server迁移助手(SSMA)团队今天宣布推出针对MySQL的迁移助手Microsoft SQL Server Migration Assistant 2008 for MySQL. 阅读相关信息: 微软发布SQL Server迁移助手为MySQL 下载SSMA为MySQL : SQL Server迁移助手为MySQL 1.0 其实,微软同时发布了其他三个迁移助手: SSMA for Access, SSMA for Oracle, and SSMA for Sybase (all

从SQL Server备份文件中导入现存数据库中

  SQL Server本身有数据导入的操作.但如果要从一个备份的文件中导入数据,则要进行另外的操作.下面以一个例子进行说明. SQL Server服务器上已有一个DOE数据库,并且里面有大量的数据,现准备从另外一个备份文件A1.BAK(不是DOE数据库的备份文件)中导入另外的数据(即导入后在DOE中增加一些数据表,表中已录有数据),并保持原DOE的数据不变. 1.首先,在"SQL企业管理器"中新建一个临时数据库A1. 2.右击A1数据库,选择:所有任务->还原数据库. 3.在&

解析csv数据导入mysql的方法

mysql自己有个csv引擎,可以通过这个引擎来实现将csv中的数据导入到mysql数据库中,并且速度比通过php或是python写的批处理程序快的多.具体的实现代码示例: 复制代码 代码如下: load data infile '/tmp/file.csv' into table _tablename (set character utf8) fields terminated by ',' enclosed by '"' lines terminated by 'rn'; 这段代码中涉及的一

Excel数据导入Mysql数据库的实现代码_php技巧

    首先做一下说明,为什么我要用Navicat,第一个原因,因为它是个不错的Mysql GUI工具,更重要的是,它可以将一些外部数据源导入Mysql数据库中.因为我的数据源是excel数据,所以想借助Navicat将其导入Mysql.     第一次运行,首先创建连接,主机名填写:localhost,端口为3306,然后填写用户名密码,OK.顺利的话,大家就可以看到名为localhost的连接图标了.双击点开它,一般Mysql默认有两个数据库,分别为mysql与test.     不用管它们

mysql数据导入sqlserver数据库方法

  方法一:通过在mysql中备份sql来将mysql数据导入sqlserver.适合于数据量不大的情况使用(如何你的数据中存在的blob字段的数据量不是很多或者不存在可以考虑). 特点:对于小数据量的迁移:方便快捷. 步骤:1:使用mysql工具备份sql文件,我这里用的是SQLyog软件. 2:对备份的sql文件进行处理(原因是这些备份的sql文件可以在sqlserver解析器中不能通过需要进行写修改).此处以SQLyog举例: /*!40101 SET NAMES utf8 */; /*!