转为?
输出access的sql文件然后导入mysql行不行?

解决方案 »

  1.   

    我用生成文本,再导入
    <? 
    $coid=odbc_connect("erp","","");
    $result_id =odbc_do($coid, "select * from `450`"); 
    $fields=odbc_num_fields($result_id);
    echo $fields;
    $fp=fopen("450.txt","w");//这个文件自动建立
    while(odbc_fetch_row($result_id)) {
    for($i=1;$i<$fields;$i++){
      $string.=odbc_result($result_id,$i)."##";
    }
      $string.=odbc_result($result_id,$fields)."<lqs>";

    fputs($fp,$string);
    fclose($fp);
    echo"data input complete";
    ?>
    不过要先建立ODBC!
      

  2.   

    你是不是已经有一个access的数据库,但是现在需要从里边先查处数据,然后再插入mysql中以便进行别的操作?那我这里有这样的代码,你看看能不能用得上。首先ODBC需要先连接好,然后mysql中要先建立一个表,结构和access的相同,或者你也可以自己定义,但是首先要保证mysql当中必须先存在一个待插入数据的表。如果没有,就要先建立了~~~我这里给出的是一个先建立表,然后再从access中读数据,最后插入mysql的例子。     $db=mysql_connect("localhost","root","root");
         mysql_select_db("lwx",$db);
    $sql="CREATE TABLE `manage`.`alarm` (
    ID int(10) unsigned default NULL,
    AlarmDate varchar(50) default NULL,
    AlarmTime varchar(50) default NULL,
    VarName varchar(50) default NULL,
    GroupName varchar(50) default NULL,
    AlarmValue varchar(50) default NULL,
    LimitValue varchar(50) default NULL,
    AlarmType varchar(50) default NULL,
    Pri varchar(4) default NULL,
    Quality varchar(50) default NULL,
    AcrDate varchar(50) default NULL,
    AcrTime varchar(50) default NULL,
    OperatorName varchar(50) default NULL,
    VarComment varchar(50) default NULL,
    ResumeValue varchar(50) default NULL,
    EventType varchar(50) default NULL,
    MachineName varchar(50) default NULL,
    IOServerName varchar(50) default NULL
    ) TYPE=MyISAM";    
    $result=mysql_query($sql);

    $connectodbc=odbc_pconnect("manage","",""); 
    $queryodbc="select * from alarm"; 
    $resultodbc=odbc_do($connectodbc,$queryodbc); 

    $pageParams['alarminfo']=array();
    while(odbc_fetch_row($resultodbc)) //依次的把从Access中查询出的纪录写到mysql数据库中

    $pageParams['alarminfo'][0]=odbc_result($resultodbc,1); 
    $pageParams['alarminfo'][1]=odbc_result($resultodbc,2); 
    $pageParams['alarminfo'][2]=odbc_result($resultodbc,3); 
    $pageParams['alarminfo'][3]=odbc_result($resultodbc,4);
    $pageParams['alarminfo'][4]=odbc_result($resultodbc,5);
    $pageParams['alarminfo'][5]=odbc_result($resultodbc,6);
    $pageParams['alarminfo'][6]=odbc_result($resultodbc,7);
    $pageParams['alarminfo'][7]=odbc_result($resultodbc,8);
    $pageParams['alarminfo'][8]=odbc_result($resultodbc,9);
    $pageParams['alarminfo'][9]=odbc_result($resultodbc,10);
    $pageParams['alarminfo'][10]=odbc_result($resultodbc,11);
    $pageParams['alarminfo'][11]=odbc_result($resultodbc,12);
    $pageParams['alarminfo'][12]=odbc_result($resultodbc,13);
    $pageParams['alarminfo'][13]=odbc_result($resultodbc,14);
    $pageParams['alarminfo'][14]=odbc_result($resultodbc,15);
    $pageParams['alarminfo'][15]=odbc_result($resultodbc,16);
    $pageParams['alarminfo'][16]=odbc_result($resultodbc,17);
    $pageParams['alarminfo'][17]=odbc_result($resultodbc,18);

    $sql='INSERT INTO alarm (';
    $sql.='ID,';
    $sql.='AlarmDate,';  
    $sql.='AlarmTime,';  
    $sql.='VarName,';
    $sql.='GroupName,';  
    $sql.='AlarmValue,';  
    $sql.='LimitValue,';  
    $sql.='AlarmType,';  
    $sql.='Pri,';  
    $sql.='Quality,';
    $sql.='AcrDate,';
    $sql.='AcrTime,';
    $sql.='OperatorName,';  
    $sql.='VarComment,';  
    $sql.='ResumeValue,';  
    $sql.='EventType,';
    $sql.='MachineName,';  
    $sql.='IOServerName';  
    $sql.=') VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)';

    $result=mysql_query($sql);    

    }

      

  3.   

    对不起,这段代码暂时不能用,VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)';
    里边的问号,都要换成$pageParams['alarminfo']数组里边的值。因为我用phplib来编写代码,所以有些问题没有改过来。