MYSQL教程之ACCESS数据库向MySQL疾速迁徙小程序(二...
如果你需要额外的功能的话,MySQL的普及性实际上可以让你发现总有一个厂商会提供准确的解决方案,而这个方案会满足你的需要和需求。access|mysql|程序|数据|数据库~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~以下为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表格,如不克不及创建,给出一步一步用户创建表格的导游功效;检测源表和目标表格数据范例的差别...等等,不外,我的数据迁徙义务已完成,编如许的程序得到了一半的原动力,列位如果给我一点勉励的话,我大概会做出一个加倍完善的程序来,精力上的勉励也行,固然物资上的就更佳了(喂!不是西红柿和喷鼻蕉皮)。DBaaS向客户提供了许多与其他云服务相类似的优势:一个灵活的、可扩展的MySQL学习教程、按需服务的平台,它以自助服务和便捷管理为导向,可以对环境中的资源进行调配。 数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。 其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。 可以动态传入参数,省却了动态SQL的拼写。 where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。 以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了 原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜! 如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。 我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
页:
[1]