|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
DBaaS解决方案既可以解决这些问题,又能为客户节约资金。相反作为解决方案提供商,采用DBaaS模式似乎就并不那么有吸引力了,因为与企业内部署软件的解决方案相比,DBaaS意味着更低的利润。access|mysql|程序|数据|数据库克日,自己为了将为公司开辟的一个信息办理体系从之前试运转的开辟呆板上(WindowsNT+IIS4.0+Access)迁徙至一台真实的Linux服务器上(Apache1.3.12+PHP4.03+MySQL3.23.26),个中数据库中的几十个表的内容迁徙,入手下手让我小费了一些周折,从网上也下载了一些MySqL的客户软件或是数据库办理软件,写得较好的软件均无数据迁徙功效,但其迁徙体例不过乎两种,一种是接纳文件引进体例,此种体例在处置数据库中有和分开符不异的字符时,会发生毛病,特别是在处置ACCESS中的Memo字段,很简单堕落,最初招致导出后的数据不是多了就是少了。而另外一种撑持ODBC间接导进的功效较强,基础可无毛病地导进各个表的内容,但很遗憾,这必需是创建在ACCESS中表格的字段是英文是才能够,如在ACCESS中字段是中文名,一样平常也堕落,不克不及乐成导进。
为此我只好花了点工夫写了两个小程序,用于将ACCESS数据库的内容向MySQL迁徙,经利用,效果还不错,特在此写出贡献给列位一试或评判。
先概述一下利用办法,
1,将ACCESS的数据库创建一个"systemDSN";
2,依据ACCESS数据库中各表的称号,在MySQL中创建响应的各个空表;
3,运转fdlist.php;
4,运转import.php;
5,每运转一次3,4步可迁徙一个表,然后修正fdlist.php中的ACCESS源表名和MySQL中的方针表名,再运转3,4步,直至迁徙一切的表,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下为fdlist.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>
<?
$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>");
$odbc_table="youroriginaltable";//TheoriginaltablenameinyourODBCdatabase
$mysql_table="yournewtable";//ThenewtablenameinyourMysqlDatabase.
?>
<bodybgcolor=#f0f0f0topmargin=0leftmargin=0text=#a00000>
<br>
<divstyle="font-size:24pt;font-family:times;font-weight:bold;color:#00a000">FieldsListofTwotables</div>
<hrsize=1color=#900000>
<?
$conn=odbc_connect("task","","");
$odbc_query="select*from".$odbc_table."where1=2";
$recordsid=odbc_exec($conn,$odbc_query);
$idcounts=odbc_num_fields($recordsid);
$fdlist1="";
for($i=1;$i<=$idcounts;$i++)
$fdlist1.=odbc_field_name($recordsid,$i).",";
echo"<div>Fd1=".$fdlist1;
$fdlist1=substr($fdlist1,0,strlen($fdlist1)-1);
$fdlist2="";
$sqlquery="select*from".$mysql_table."where1=2";
$records2=mysql_query($sqlquery);
$idcount2=mysql_num_fields($records2);
for($i=0;$i<$idcount2;$i++)
$fdlist2.=mysql_field_name($records2,$i).",";
echo"<div>FD2=".$fdlist2;
$fdlist2=substr($fdlist2,0,strlen($fdlist2)-1);
$fp=fopen("fdlist.txt","w");
fwrite($fp,$ctable);
fwrite($fp,"n");
fwrite($fp,$fdlist1);
fwrite($fp,"n");
fwrite($fp,$etable);
fwrite($fp,"n");
fwrite($fp,$fdlist2);
fclose($fp);
odbc_close($conn);
if($idcount2!=$idcounts){
echo"<hrsize=1color=#900000>".
"<divstyle=font-size:20pt;font-family:times;font-weight:bold>Thefieldsoftwotablesdoesntmatch";
echo"<br><br>ODBC_tableFields=".$idcounts;
echo"<br><br>MySQL_tableFields=".$idcount2;
}
?>
</body>
</html>
~~~~~~~~~~~~~~~~~~~
未完接(二)
~~~~~~~~~~~~~~~~~~~人们常说“成功孕育成功”,这种说法明显非常适合MySQL的情况。MySQL学习教程这个开源数据库号称在全世界有超过110万份的完全安装。 |
|