Access数据导入mysql程序实例

2010/06/03  |  23:30分类:生活琐事!  |  标签:  |  24

由于公司是外包公司,接了个网站改版的活,以前的Access数据类型的网站数据要留下,所以要转到mysql下,研究了几天终于有点眉目了,我感觉这是最简单的方法了吧!php提供了连接Access的方法,转换的原理就是:
应用php提供的方法,把Access里面的数据读出来,如果文章里面有以前的ubb代码又需要处理下,文章内容后才能入mysql库,处理后直接写sql插入insert into 语句插入mysql就可以了,当然我只是测试了很小的数据库,大数据量的我就没测试过了,高手们谁有比较好的方法,欢迎赐教,讨论!目前小弟就这水平了!

  1. <?php
  2. include 'config.php';
  3. ?>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  5. <html xmlns="http://www.w3.org/1999/xhtml">
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  8. <title>access转mysql</title>
  9. </head>
  10.  
  11. <body>
  12. <?php
  13. $conn = new com("adodb.connection");
  14. //
  15. $connstr="provider=microsoft.jet.oledb.4.0;data source=".realpath("#db051008.mdb");
  16. $conn->open($connstr);//comopen()ִ
  17. $rs=new com("adodb.recordset");
  18. //$sql="select * from article where id in(14)";
  19. $sql='select * from article where bid=\'4\'';
  20. //echo $sql;
  21. //exit();
  22. $rs->open($sql,$conn,1,3);
  23. $rs->pagesize=400;
  24. if((trim(intval($_GET['page']))=="")||(intval($_GET['page'])>$rs->pagecount)||(intval($_GET['page'])<=0)){
  25.   $page=1;
  26.   }else{
  27.   $page=intval($_GET['page']);
  28.   }
  29.   if($rs->eof||$rs->bof){
  30.   echo "没数据";
  31.   }else{
  32.   
  33.     $rs->absolutepage=$page;
  34.     $mypagesize=$rs->pagesize;   
  35.   while(!$rs->eof && $mypagesize>0){
  36.     $title=iconv('gb2312','utf-8',$rs->fields['title']);
  37.     $main=iconv('gb2312','utf-8',$rs->fields['main']);
  38.     $release_date=iconv('gb2312','utf-8',$rs->fields['posttime']);
  39.    ?>
  40.    <dt><strong>
  41.    <?php
  42.     echo $rs->fields['id'].$title;
  43.    ?>
  44.    </strong></dt> 
  45.    <dt>
  46. <?php
  47. //处理文章里面的ubb图片
  48. preg_match_all('/\[uploadimg\](.*)\[\/uploadimg\]/U',$main,$ml);
  49. $num = count($ml[0]);
  50. for($i=0;$i<$num;$i++){
  51. $img = '<img alt="" src="/upload/editor/'.$ml[1][$i].'" />';
  52. $st = $ml[0][$i];
  53. $main = str_replace("$st","$img","$main");
  54. }
  55. //处理文章里面的ubb的url
  56. preg_match_all('/\[url\=http\:\/\/www\.shywgh\.org(.+?)\](.+?)\[\/url\]/',$main,$ml_url);
  57. $num_url = count($ml_url[0]);
  58. for($i=0;$i<$num_url;$i++){
  59. $url = '<a href="/upload/editor'.$ml_url[1][$i].'">'.$ml_url[2][$i].'</a>';
  60. $st_url = $ml_url[0][$i];
  61. $main = str_replace("$st_url","$url","$main");
  62. }
  63. ?></dt>
  64.    <?php
  65.     //写sql语句插入msyql数据库
  66. $sql_insert="insert into `article` set `column_id`=9,title='$title',content='$main',range_num=1000,release_date='$release_date',lastedit_date='$release_date'";
  67. //echo $sql_insert;
  68. $db->query($sql_insert);
  69. $mypagesize--;
  70. $rs->movenext;
  71. }
  72.    }
  73.  
  74. //if($page>=2)
  75. ?>
  76.  
  77. 共<?php echo $rs->pagecount;?>页 每页20条 共<?php echo $rs->recordcount;?>条 第<?php echo $page;?>页 <a href="?page=1">首页</a> <a href="?page=<?php if($page>1){echo $page-1;}else{echo 1;}?>">上页</a>
  78. <?php
  79. $i=$page;
  80. for($i;$i<=$page+4;$i++){
  81. if($i<=$rs->pagecount){
  82. echo "<a href=?page=".$i.">[".$i."]</a>";
  83. }
  84. }?>
  85.  <a href="?page=<?php if($page<$rs->pagecount){echo $page+1;}else{echo $rs->pagecount;}?>">下页</a> <a href="?page=<?php echo $rs->pagecount;?>">尾页</a>
  86.  
  87. <?php
  88.  
  89. $rs->Close();          //关闭记录集对象和数据库连接对象
  90.  
  91. ?>
  92. </body>
  93. </html>
喜欢本文,那就收藏到: Del.icio.us Google书签 Digg Live Bookmark Technorati Furl Yahoo书签 Facebook 百度搜藏 新浪ViVi 365Key网摘 天极网摘 和讯网摘 博拉网 POCO网摘 添加到饭否 QQ书签 Digbuzz我挖网

发表您的评论