将mssql数据对应转换到mysql

原创
2016-07-29 09:02:04 707浏览

一.我就职于一个小公司,每天的工作是维护网站正常运行,改写网站的小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教程有兴趣的朋友有所帮助。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。