好了,我经过大家的支持现在已经成功的把access数据倒换为mysql形式,本人将奉献给那些需要的朋友们!
时间:2007-02-17 来源:PHP爱好者
第一步、做好数据库的准备。安装数据源(这个就费了我好几天了),首先点击控制面板中的
odbc数据源(32位)
,点击进入后选择
用户DSN(其实是默认的)
,在其中选择
MS ACCESS 97 DATABASE 这一选项,点击其右面的配置按钮。
会出来一个窗口名字是:[Odbc microsoft 安装]。
在其中间部分选择你所要调用的数据库。(选择选取按钮)
再在点击其右侧的高级选项,会弹出一个[高级设置选项]在其中设置用户密码和用户名(每个名称记好了),在栏目下方的选项类型中点击
defaultdir,在最下方的数值中输入你的数据库(也就是access 数据库)。然后一个个确定回到初始位置(用户DSN),这时候开始[添加]你刚才所加的数据源,选择*.mdb(就是access),点击完成。进入到另一个页,在开头数据源中:数据你的数据库源名:(比如我以前使用的是taici.mdb,那么现在在其中输入taici就可以了)。然后肯定要选择你要所找的数据库了。好了,现在数据库可以告一段落了。
第二步,那就是程序倒换的问题了。
<?
$cnx = odbc_connect('taici', 'Admin', 'WSD');
记得吗?教你输入用户跟密码时候叫你记好的,就是Admin 和WSD,知道怎么做了?!
$cur= odbc_exec( $cnx, 'select * from word' );
其中的word就是其中的一个表taici
$num_row=0;
$conn=mysql_pconnect("localhost","wsd","wsd");// 连接mysql
@mysql_select_db('sms',$conn) or
die("无法连接到数据库,请与管理员联系!");//打开mysql的mydb数据库
while( odbc_fetch_row( $cur )) //从sql server的mydb库中的user表逐条取出数据,如果对数据进行选择,可在前面的select语句中加上条件判断
{
$num_row++;
$field1 = odbc_result( $cur, 1 ); // 这里的参数i(1,2,3..)指的是记录集中的第i个域,你可以有所选择地进行选取,fieldi得到对应域的值,然后你可以对fieldi进行操作
$field2 = odbc_result( $cur, 2 );
$field3 = odbc_result( $cur, 3 );
$field4 = odbc_result( $cur, 4 );
$field5 = odbc_result( $cur, 5 );
$field6 = odbc_result( $cur, 6 );
$field7 = odbc_result ($cur, 7 );
$field3 = timetoint($field3); //这里是对sql server中的datetime类型的字段进行相应转换处理,转换成我所需要的int型
$querystring = "insert into tab_phrase
(phrase_content,phrase_number,phrase_inputtime,phrase_author,phrase_classid,phrase_flag,phrase_fee)
values('$field1','$field2','$field3','$field4','$field5','$field6','$field7')" ;
mysql_query($querystring,$conn);
}
function timetoint($str){
$arr1=split(" ",$str);
$datestr=$arr1[0];
//$timestr=$arr1[1];
$arr_date=split("-",$datestr);
//$arr_time=split(":",$timestr);
$year=$arr_date[0];
$month=$arr_date[1];
$day=$arr_date[2];
//$hour=$arr_time[0];
//$minute=$arr_time[1];
//$second=$arr_time[2];
$time_int=mktime($hour,$minute,$second,$month,$day,$year);
return $time_int;
}
?>
好了,写了这么久,有问题再问好了。
php爱好者站 http://www.phpfans.net 网页制作|网站建设|数据采集.
odbc数据源(32位)
,点击进入后选择
用户DSN(其实是默认的)
,在其中选择
MS ACCESS 97 DATABASE 这一选项,点击其右面的配置按钮。
会出来一个窗口名字是:[Odbc microsoft 安装]。
在其中间部分选择你所要调用的数据库。(选择选取按钮)
再在点击其右侧的高级选项,会弹出一个[高级设置选项]在其中设置用户密码和用户名(每个名称记好了),在栏目下方的选项类型中点击
defaultdir,在最下方的数值中输入你的数据库(也就是access 数据库)。然后一个个确定回到初始位置(用户DSN),这时候开始[添加]你刚才所加的数据源,选择*.mdb(就是access),点击完成。进入到另一个页,在开头数据源中:数据你的数据库源名:(比如我以前使用的是taici.mdb,那么现在在其中输入taici就可以了)。然后肯定要选择你要所找的数据库了。好了,现在数据库可以告一段落了。
第二步,那就是程序倒换的问题了。
<?
$cnx = odbc_connect('taici', 'Admin', 'WSD');
记得吗?教你输入用户跟密码时候叫你记好的,就是Admin 和WSD,知道怎么做了?!
$cur= odbc_exec( $cnx, 'select * from word' );
其中的word就是其中的一个表taici
$num_row=0;
$conn=mysql_pconnect("localhost","wsd","wsd");// 连接mysql
@mysql_select_db('sms',$conn) or
die("无法连接到数据库,请与管理员联系!");//打开mysql的mydb数据库
while( odbc_fetch_row( $cur )) //从sql server的mydb库中的user表逐条取出数据,如果对数据进行选择,可在前面的select语句中加上条件判断
{
$num_row++;
$field1 = odbc_result( $cur, 1 ); // 这里的参数i(1,2,3..)指的是记录集中的第i个域,你可以有所选择地进行选取,fieldi得到对应域的值,然后你可以对fieldi进行操作
$field2 = odbc_result( $cur, 2 );
$field3 = odbc_result( $cur, 3 );
$field4 = odbc_result( $cur, 4 );
$field5 = odbc_result( $cur, 5 );
$field6 = odbc_result( $cur, 6 );
$field7 = odbc_result ($cur, 7 );
$field3 = timetoint($field3); //这里是对sql server中的datetime类型的字段进行相应转换处理,转换成我所需要的int型
$querystring = "insert into tab_phrase
(phrase_content,phrase_number,phrase_inputtime,phrase_author,phrase_classid,phrase_flag,phrase_fee)
values('$field1','$field2','$field3','$field4','$field5','$field6','$field7')" ;
mysql_query($querystring,$conn);
}
function timetoint($str){
$arr1=split(" ",$str);
$datestr=$arr1[0];
//$timestr=$arr1[1];
$arr_date=split("-",$datestr);
//$arr_time=split(":",$timestr);
$year=$arr_date[0];
$month=$arr_date[1];
$day=$arr_date[2];
//$hour=$arr_time[0];
//$minute=$arr_time[1];
//$second=$arr_time[2];
$time_int=mktime($hour,$minute,$second,$month,$day,$year);
return $time_int;
}
?>
好了,写了这么久,有问题再问好了。
php爱好者站 http://www.phpfans.net 网页制作|网站建设|数据采集.
相关阅读 更多 +