仓酷云

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

[学习教程] MYSQL教程之ACCESS数据库向MySQL疾速迁徙小程序(二...

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

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

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

x
如果你需要额外的功能的话,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学习教程、按需服务的平台,它以自助服务和便捷管理为导向,可以对环境中的资源进行调配。
活着的死人 该用户已被删除
沙发
发表于 2015-1-19 16:25:07 | 只看该作者
数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。
乐观 该用户已被删除
板凳
发表于 2015-1-28 08:27:25 | 只看该作者
其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。
只想知道 该用户已被删除
地板
发表于 2015-2-5 20:10:31 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
蒙在股里 该用户已被删除
5#
发表于 2015-2-13 11:47:29 | 只看该作者
where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。
爱飞 该用户已被删除
6#
发表于 2015-3-3 20:55:03 | 只看该作者
以前的DTS轻盈简单。但是现在的SSIS虽然功能强大了很多,但是总是让人感觉太麻烦。看看论坛中询问SSIS的贴子就知道。做的功能太强大了,往往会有很多用户不会用了
再现理想 该用户已被删除
7#
发表于 2015-3-11 13:40:58 | 只看该作者
原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!
兰色精灵 该用户已被删除
8#
发表于 2015-3-18 21:23:10 | 只看该作者
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
再见西城 该用户已被删除
9#
发表于 2015-3-26 18:48:43 | 只看该作者
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-29 16:35

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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