将mssql数据对应转换到mysql

一.我就职于一个小公司,每天的工作是维护网站正常运行,改写网站的小bug,以及配合老板每个”灵光乍现”的创意,今天老板需要将原来一个asp的网站搬迁到新购入的php系统中,于是就产生了2个问题

1.将mssql数据库转换成mysql

2.将某些表中的字段内容重新写入新系统表字段中

二.

将mssql数据库转换到mysql中,有现成的工具,所以这一步还算比较简单.我使用的工具是mss2sql,用之前baidu写入速度过慢,经过本人测试(经过本人使用确实非常慢,劝告数据库很庞大的同学,请勿使用)过程中遇到了有一个表无法转换,于是我打开表查看,发现一个字段的内容存在★,经过对比新系统该字段应该可以舍弃,遂全文替换掉,再来一次,搞定.

接下来我将导入好的数据库中表与新系统的数据库中表进行对照,舍弃一些不用的表,将有用的表导出,并插入到新系统的数据库中.

好了,至此为止一切还比较顺利

接下来在不引入框架的情况下,我自己写了一段php程序来帮我将旧数据库的内容,插入新数据库的对应表中.

首先

$mysql_server_name=””; //数据库服务器名称 $mysql_username=””; // 连接数据库用户名 $mysql_password=””; // 连接数据库密码 $mysql_database=””; // 数据库的名字 // 连接到数据库 $c $mysql_username,$mysql_password);

// 从表中提取信息的sql语句 $strsql=”select * from {表名} where {查询条件} “; // 执行sql查询mysql_select_db($mysql_database, $conn); $result=mysql_query($strsql, $conn); // 获取查询结果

$num=0;while($row = mysql_fetch_array($result)){//var_dump($row);//转译特殊字符$row[‘字段名’]=addslashes($row[‘字段名’]);//某些字段中含有单引号、双引号等 特殊字符需要转译//合成查询语句(由于新系统是多表关联的,所以要拆分语句)$strsql=”insert into `表名` values (字段值(必须对应,并且注意添加单引号,我在这里卡了很久明明感觉都对的但是就是不能执行,就是缺少了单引号))”; $strsql1=”insert into {表名} (字段名) values (字段值’)”;//echo($strsql);// 执行sql查询$result1=mysql_query($strsql1, $conn); $next=mysql_query($strsql, $conn);var_dump($num++);} // 释放资源 mysql_free_result($result); // 关闭连接 mysql_close($conn); echo “执行完毕”;//由于php无法观察执行过程,所以我添加了结束标记

自此,所用工作就是重复的了,本人才疏学浅若有什么疏漏,或者错误,希望大神们能批评指正,谢谢到家

以上就介绍了将mssql数据对应转换到mysql,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。

Posted in 未分类

发表评论