百科 教育 动画 游戏 博览 网址 金融 搜搜 资料 新闻
触屏版

close ◇ 读取数据,请稍候 Loading...

.: Welcome to flymote.com [flymot.com] :.

网页太慢?试试: 或 [ 刷新 ]




  »

◆ 其它资料:.
第九套广播体操 分享(1512)
缩略图处理函数模块(2198)
佳木斯快乐舞步视频分享(2237)
投票功能模块(2441)
五行健康操 分享(2626)
纯PHP编写的PHP 简易中文分词(SCWS) sqlite词典工具(3062)
Flash网上投票系统 PHP李茂祥修改版 含flash源文件(4426)
RSSLite RSS处理类(5412)
读写 ini 文件的类(5447)
Access XML导入Mysql数据库的程序(5447)

Access XML导入Mysql数据库的程序

2006-11-12   李茂祥    原创   阅读: 5447   【本类别其它资料】 【资料库首页
上一篇 收藏 评论 打印 收藏夹 发布 下一篇

本程序用于将ACCESS数据库导入mySQL等各种数据库 copyright(C) 李茂祥 2006 under php5 with adodb and DOM 要先将ACCESS数据库导出为XML,utf-8编码 使用Adodb为数据库中间件
〖XML 的 数据库导入〗

<?php
// 本程序用于将ACCESS数据库导入mySQL等各种数据库       copyright(C) 李茂祥 2006
//  under php5 with adodb and DOM
//  要先将ACCESS数据库导出为XML,utf-8编码,而后设定下面的参数
//
require("adodb/adodb.inc.php");//数据库连接使用Adodb中间件
$file "table_b.xml"//XML文件名称
ini_set("max_execution_time",30000);
$dbhost "localhost"//数据库 主机名称
$type "mysqli"//数据库 连接类型,可以为mysql mysqli access mssql odbc sybase db2 ... ...
$charset "utf-8"//数据库 默认字符集
$dbuser "root"//数据库 用户名
$dbpw "1111"//数据库 用户密码
$dbname "lmxdb"//数据库 库名称
$table "table_b"//数据库 库中数据导入的表名称
$map_array = array( //数据库字段设定标签控制
"recordtag"=>"tmb"//recordtag 用来指定标记每一行记录的标签的名称,当前是 tmb
"objtag"=>array("tmzs","tmtp")); //objtag用来标记ACCESS中的大对象字段,如图片等的标签的名称
$map_fields = array( //所有的字段名称
    
"kind"=>"",
    
"nd"=>"",
    
"xh"=>"",
    
"lx"=>"",
    
"nr"=>"",
    
"das"=>"",
    
"da1"=>"",
    
"da2"=>"",
    
"da3"=>"",
    
"da4"=>"",
    
"da5"=>"",
    
"da6"=>"",
    
"zqda"=>"",
    
"bz"=>"",
    
"tmzs"=>"",
    
"tmtp"=>"",
    
"ddmt"=>""
    
);
$DB_Connection 0;
//--------------------------------------------------处理开始----------------------------------
 
function connect($dbhost$dbuser$dbpw$dbname ''$charset 'gbk'$pconnect $type ='mysqli') {
  
$temp 0;
  
$DB_Connection = &ADONewConnection $type );  // create a connection
  
if($pconnect) {
   
$temp $DB_Connection ->PConnect$dbhost$dbuser$dbpw$dbname ); 
  } else {
    
$temp $DB_Connection ->Connect$dbhost$dbuser$dbpw$dbname ); 
  }
  if(!
$temp) {
    die(
$DB_Connection->ErrorMsg());
  }
  if(
$type == 'mysqli' || $type =='mysql') { //这里专门针对mysql4.1及5以上
   
if (in_array(strtolower($charset), array('gbk''big5''utf-8','gb2312')))
    
$DB_Connection ->Execute("SET NAMES ".str_replace('-'''strtolower($charset)));
   
$temp $DB_Connection ->Execute("SET sql_mode=''");
   if (!
$temp)
    die(
$DB_Connection->ErrorMsg());   
//   $DB_Connection ->Execute("SET CHARACTER SET gb2312");
  
}
  return  
$DB_Connection;
 }

 function 
prepare($fields){
  global 
$DB_Connection,$table,$records;
  if (!
is_array($fields)) return 0;
  
$key implode(","array_keys($fields));
  
$temp = array();
  
$temp array_pad($temp,count($fields),"?");
  
$temp implode(",",$temp); 
  
$sql 'insert into '.$table.' ('.$key.') values ('.$temp.')';
  
$stmt $DB_Connection->Prepare($sql); 
  
$stmt $DB_Connection->Execute($stmt,$records);
  if (!
$stmt)
  die(
"error ! *** 
"
.$DB_Connection->ErrorMsg());
  else
  echo (
'OK OK !! the xml data been insert into '.$table);
 }

$doc = new DOMDocument();
$doc->load($file);
$DB_Connection connect($dbhost$dbuser$dbpw$dbname$charset$type);
if (!
is_object($DB_Connection))
 die(
"database cant connect");
$map_fields0 $map_fields;
//echo $doc->actualEncoding;
//echo $doc->xmlEncoding;
$lists $doc->getElementsByTagName($map_array['recordtag']);

foreach (
$lists as $key=>$line) {
 
//if ($key>2) break;
 //echo $line->textContent."<hr> ";
 
foreach ($line->childNodes as $child) {
  if (!isset(
$map_fields[$child->nodeName])) continue;
  
$map_fields[$child->nodeName] = $child->textContent;
  if (
in_array($child->nodeName,$map_array['objtag']))
  
// $map_fields[$child->nodeName] = mb_convert_encoding(base64_decode($map_fields[$child->nodeName]),"UTF-8","GBK");
   
$map_fields[$child->nodeName] = base64_decode($map_fields[$child->nodeName]);
  }
 
$records[] = $map_fields;
 
//var_dump($map_fields);
 
$map_fields $map_fields0//数据清零
}
prepare($map_fields0);
?> 
责任编辑: admin

【最近的搜索】:

上一篇 收藏 评论 打印 收藏夹 发布 下一篇
平均得分 0, 共 0 人评分
1 2 3 4 5 6 7 8 9 10
最新评论 (共有 1 条评论) 发表时间 作者 回复
附注说明:2006-11-12 23:28 pmadmin0
更多评论….

CopyRight(c) 2007 - 2017 All Rights Reserved  【赣ICP备12001042号】
触屏版 | Archiver 20180722 10:53 | 简介 | 帮助 | 留言 | 关于 | 360网站安全检测平台