ACCESS数据库向MySQL快速迁移小程序(二)_MySQL
php中文网
发布时间:2016-06-01 14:12:11
|
932人浏览过
|
来源于php中文网
原创
Access
ECTouch移动商城系统
ECTouch是上海商创网络科技有限公司推出的一套基于 PHP 和 MySQL 数据库构建的开源且易于使用的移动商城网店系统!应用于各种服务器平台的高效、快速和易于管理的网店解决方案,采用稳定的MVC框架开发,完美对接ecshop系统与模板堂众多模板,为中小企业提供最佳的移动电商解决方案。ECTouch程序源代码完全无加密。安装时只需将已集成的文件夹放进指定位置,通过浏览器访问一键安装,无需对已有
下载
ODBC --> MySQL Migrant
$dbconnection = @mysql_connect("yourmysqlserver", "mysqlaccount", "mysqlpassword")
or die ("can not connect to database server");
@mysql_select_db("yourdatabase")
or die("No Database,
") ;
$conn = odbc_connect("task", "", "");
$fp = fopen ("fdlist.txt","r") ;
$table1 = fgets($fp,200);
$fd1 = fgets($fp,1024) ;
$table2 = fgets($fp,200);
$fd2 = fgets($fp,1024) ;
$query1 = "select " . $fd1 . " from " . $table1 ;
$query2 = "select " . $fd2 . " from " . $table2 . " where 1=2 " ;
$result = mysql_query ($query2) ;
mysql_query ("delete from " .$table2 ) ;
echo "sql=". $query1;
$recordsid = odbc_exec($conn, $query1);
$idcounts = odbc_num_fields( $recordsid ) ;
$idcount2 = mysql_num_fields($result) ;
if ( $idcounts != $idcount2 )
die (" The fields of two tables doesn't match ") ;
echo "n" ;
echo "
n " ; for ( $i = 1 ; $i echo "n |
" . odbc_field_name($recordsid,$i) ; $theno = 1 ; echo " |
n" ;
while (odbc_fetch_row($recordsid) ) {
$runsql = "insert into " . $table2 . "(" . $fd2 . ") values (" ;
for ( $i = 1 ; $i
$fdv = odbc_result($recordsid,$i) ;
if ( mysql_field_type($result,$i-1) == "string")
$runsql .= "'". $fdv . "'," ;
else
$runsql .= $fdv. "," ;
}
$runsql = substr($runsql,0,strlen($runsql)-1) ;
$runsql .= ")" ;
mysql_query ($runsql) ;
$theno++ ;
}
echo "Total Convert : " . $theno -- ;
odbc_close($conn);
?>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
有经验的网友可能看了两个小程序,可能觉得如在ACCESS数据库中各表的字段是英文的话,fdlist.php有点多余,其实在这里,我的本意是在迁移时,可以很方便地删除某些不用的字段,只要将fdlist.php的生成文件fdlist.txt中对应的字段Delete掉即可。还算是很方便的,反正,有了这两个小程序,我以前放在ACCESS中的几十个表格的数据,二十分钟全部迁移完毕,包括对其中四、五个表格字段的修改。
当然,虽然两个程序达到了我预定的功能,但要将其扩展为所有人可用其将ODBC数据库迁移至MySQL数据库,且使用更加方便一些,还有一些方面可以改进,如根据ODBC表格的结构自动建立MySQL表格,如不能建立,给出一步一步用户建立表格的向导功能;检测源表和目的表格数据类型的差异...等等,不过,我的数据迁移任务已完成,编这样的程序失去了一半的原动力,各位要是给我一点鼓励的话,我也许会做出一个更加完美的程序来,精神上的鼓励也行,当然物质上的就更佳了(喂!不是西红柿和香蕉皮)。
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
文心一言
文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。
讯飞写作
基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿
即梦AI
一站式AI创作平台,免费AI图片和视频生成。
ChatGPT
最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。