本文通过示例代码实现了php读取access数据库,并写入mysql数据表字段中的方法。分享给大家供大家参考:

首页,网上有专门的软件工具可以把.mdb数据库转换成MySQL数据库,但这种方法有个缺陷——就是它只能导出对应原access固定结构的表内容,对于已经设计好MySQL数据表结构的CMS系统,就没法通过一一对应关系分别插入表字段了。
所以,只好编写程序来实现这种个性化需求,即用php读取access数据库,并写入mysql数据表对应字段中。

首先,连接mysql数据操作。代码如下:

$dbhost=”localhost:3307″;//服务器
$db=”dataname”;//数据库
$dbuser=”root”;//用户名
$dbpass=”*******”;//密码
$db_qianzhui=”sdb_”;//表前缀
$link=mysql_connect($dbhost,$dbuser,$dbpass);
if(!$link) echo “链接失败!”;
else echo “成功!!!”;
mysql_query(“SET NAMES ‘UTF8′”);
mysql_query(“SET CHARACTER SET UTF8”); //>>>解决乱
mysql_query(“SET CHARACTER_SET_RESULTS=UTF8′”);///////>>>码问题
mysql_select_db(“{$db}”);

然后,连接access数据库读取数据。代码如下:

$datapath=”data.mdb”;
$fenlei=”101″;
$conn = new com(“ADODB.Connection”);
$connstr = “DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=”. realpath($datapath);
$conn->Open($connstr);
$rs = new com(“ADODB.RecordSet”);
$rs->Open(“select * from information where lanmu3id=13 “,$conn,1,1); //查询*.MDB文件里面的

最后是迭代执行一边读一写入操作:

while(! $rs->eof) {
//$f = $rs->Fields(1); //1.赋值(*调试用)
//echo $f->value;   //2.看能不能写读出来(*调试用)
//以下是分别给变量赋值,其中’gb2312’,’utf-8’为了解决乱码问题!
$id =iconv (‘gb2312′,’utf-8’,$rs->Fields(ID)->value);//ID为access字段,或用数字表示
$name =    iconv (‘gb2312′,’utf-8’,$rs->Fields(title)->value);
$jianjie = iconv (‘gb2312′,’utf-8’,$rs->Fields(1)->value);
$content=  iconv (‘gb2312′,’utf-8’,$rs->Fields(content)->value);
$down =    iconv (‘gb2312′,’utf-8′,$rs->Fields(download)->value);

echo “<font color=red>”.$name.”</font>已经插入<br>”;//输出插入记录
///依次执行insert,值为变量
$sql=”INSERT INTO `shopex`.`sdb_articles` (`article_id`,`node_id`,`title`,`content`,`uptime`,`ifpub`,`align`,`filetype`,`filename`,`orderlist`,`disabled`) VALUES (”,'{$fenlei}’,'{$name}’,'{$info}’,’1275549287′,’1′,Null,Null,NULL,NULL,’false’)”;
////以上是插入MYSQL数据库的SQL//////
mysql_query($sql); //执行语句!!!
///echo $rs->Fields(name)->value. “<br>”;
$rs->MoveNext();
/////个人用于ACCESS向mysql内转换数据库的操作,
}


彩蛋:这里提供一款能将ACCESS数据库转换MYSQL数据库的软件

这是一款功能强大的数据库格式转换工具,用户可以把一些数据通过软件从一个服务器传输到另外一个服务器,传输的速度非常快,而且安全,而且还支持其它的同步转换,实用性很好,欢迎需要的用户前来下载。

Access转MySQL工具特色

1、向导界面。

2、将数据直接从一个服务器传输到另一个服务器。

3、创建转储文件。

4、选择要传输的表。

5、选择要传输的字段。

6、传输密码保护的数据库

7、支持共享安全和用户级安全。

8、可选转移索引。

9、可选转让记录。

10、在字段定义中可选传输默认值。

11、标识并传送自动编号字段类型。

12、命令行界面。

13、轻松安装,卸载和升级。

同步转换

MS Access to MS SQL。

MS Access to MS Access。

MS Access to MS SQL Dump。

MS SQL to MS Access。

MS SQL to MS SQL。

MS SQL to MS SQL Dump

Access转MySQL工具使用教程

1、当您启动程序时,它将通过一个向导运行您。向导会询问您所有必要的问题以设置数据库传输。在第一步中,您将被要求提供要转换的MicrosoftAccess数据库的文件名。如果您的Access数据库要求您登录,则可以指定用户名,密码和系统数据库。

2、目标数据库和MySQL服务器连接设置如下所示。您可以选择将结果放在转储文件中,而不是将其直接传输到另一个MySQL数据库。

3、您可以准确指定要传输到目标数据库的表。只需选中您要传输的每个表名前面的框,然后单击下一步。

4、可以在下面的对话框中设置其他传输选项。在这里您可以指定是否要将Access数据库的索引传输到MySQL。您也可以选择不传输任何记录。这将只创建目标表中的表并将其留空。

在Access和MySQL字段中都可以有默认值。在MySQL中创建表时,程序可以保留Access字段定义中指定的默认值。如果您检查自动编号属性框,也可以传输字段的自动编号属性。

5、在向导中回答所有问题后,您可以按完成。现在将运行传输,直到所有选定的表被传送。传输完成后,您将看到一个小报告,告诉您传输了多少数据。向导的设置可以保存在.ini文件中。