仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 742|回复: 8
打印 上一主题 下一主题

[学习教程] 发一篇ACCESS数据库向MySQL疾速迁徙小程序(二)

[复制链接]
若相依 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 20:12:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
采用DBaaS解决方案,他们也可以使用同大企业一样的技术。在大型组织中,DBaaS可以提供部门级解决MySQL学习教程,而无需IT部门和采购部门的介入,提供更快和更容易的方法来实现小型解决方案。~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下为import.php源程序
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

<html>
<head>
<styletype=text/CSS>
body,td,li,div,p,PRe,a,b,h1,h2,h3,h4{font-family:verdana;font-size:9pt;line-height:18px;color:#a00000}
</style>
</head>
<bodybgcolor=#f0f0f0topmargin=0leftmargin=0text=#a00000>
<center>
<br>
<divstyle="font-size:24pt;font-family:times;font-weight:bold;color:#008000">ODBC-->MySQLMigrant</div>

<hrsize=1color=#900000>

<?

$dbconnection=@mysql_connect("yourmysqlserver","mysqlaccount","mysqlpassWord")

ordie("cannotconnecttodatabaseserver");

@mysql_select_db("yourdatabase")

ordie("<pstyle=font-size:9pt;font-family:verdana;color:#803333;font-weight:bold>NoDatabase,</p>");


$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."where1=2";

$result=mysql_query($query2);

mysql_query("deletefrom".$table2);

echo"sql=".$query1;

$recordsid=odbc_exec($conn,$query1);

$idcounts=odbc_num_fields($recordsid);

$idcount2=mysql_num_fields($result);

if($idcounts!=$idcount2)
die("Thefieldsoftwotablesdoesntmatch");

echo"<tablewidth=90%border=1bordercolorlight=#000000bordercolordark=#ffffffcellpadding=3cellspacing=0>n";



echo"<tralign=center><td> n";

for($i=1;$i<=$idcounts;$i++)

echo"n<td>".odbc_field_name($recordsid,$i);

$theno=1;

echo"<tr>n";



while(odbc_fetch_row($recordsid)){



$runsql="insertinto".$table2."(".$fd2.")values(";

for($i=1;$i<=$idcounts;$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"TotalConvert:".$theno--;



odbc_close($conn);

?>

</body>
</html>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
有履历的网友大概看了两个小程序,大概以为如在access数据库
中各表的字段是英文的话,fdlist.php有点过剩,实在在这里,我的
本意是在迁徙时,能够很便利地删除某些不必的字段,只需将fdlist.php的天生文件fdlist.txt中对应的字段Delete失落便可。还算是很便利的,归正,有了这两个小程序,我之前放在ACCESS中的几十个表格的数据,二非常钟全体迁徙终了,包含对个中4、五个表格字段的修正。

固然,固然两个程序到达了我预定的功效,但要将其扩大为一切人可用其将ODBC数据库迁徙至MySQL数据库,且利用加倍便利一些,另有一些方面能够改善,如依据ODBC表格的布局主动创建MySQL表格,如不克不及创建,给出一步一步用户创建表格的导游功效;检测源表和目标表格数据范例的差别...等等,不外,我的数据迁徙义务已完成,编如许的程序得到了一半的原动力,列位如果给我一点勉励的话,我大概会做出一个加倍完善的程序来,精力上的勉励也行,固然物资上的就更佳了(喂!不是西红柿和喷鼻蕉皮)。据我的观察,现在有一个趋势,那些经过正式培训的数据库管理员DBA更倾向于选择一个专有关系数据库,例如Oracle。对于一些具有专门数据库管理员的比较大的环境来说,MySQL很难得到宠爱,这时候,关于MySQL是否真的具有良好的可扩展性的争论已经没有意义。
莫相离 该用户已被删除
沙发
发表于 2015-1-18 18:33:59 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
小女巫 该用户已被删除
板凳
发表于 2015-1-24 20:10:25 | 只看该作者
大侠们有推荐的书籍和学习方法写下吧。
不帅 该用户已被删除
地板
发表于 2015-2-2 13:05:32 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
透明 该用户已被删除
5#
发表于 2015-2-7 21:06:16 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
山那边是海 该用户已被删除
6#
发表于 2015-2-23 12:07:14 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
若相依 该用户已被删除
7#
 楼主| 发表于 2015-3-7 09:04:54 | 只看该作者
原来公司用过MYSQL自己也只是建个表写个SQL
分手快乐 该用户已被删除
8#
发表于 2015-3-14 20:19:41 | 只看该作者
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
爱飞 该用户已被删除
9#
发表于 2015-3-21 15:19:22 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2025-1-3 22:16

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表