Daten aus SAGE (khk) in MYSQL übertragen mittels ODBC.
<?php set_time_limit(0); $conn2 = mysql_connect('localhost','ID','PW'); $db=mysql_select_db('data'); function querykhk($query) { global $conn; if (!$conn) $conn = odbc_connect('KHK','ID','PW'); $result=odbc_exec($conn, $query); if (!$result) echo "KHK Query Error $query (".odbc_errormsg().")"; return $result; } function query($query) { global $conn2; $result=mysql_query($query); if (!$result) { echo "Mysql Error $query (".mysql_error().")"; sleep(10); } echo mysql_error(); return $result; } function read_table($sql,$table) { global $conn; $first=1; $reskhk=querykhk($sql); echo "Open: ".$table." (".$rows.")n"; while ($ergkhk=odbc_fetch_array($reskhk)) { $sc++; $cache[]=$ergkhk; echo $sc."r"; } echo "Cache Read done ".count($cache)."n"; echo "Close ODCBC: ".$table."n"; echo "INSERT Mysql Start: ".$table."n"; odbc_close($conn); foreach($cache as $ergkhk) { $i++; $vars=''; $names=''; $namesshort=''; foreach($ergkhk as $name => $value) { $name=trim(str_replace("'","",$name)); $value=trim(str_replace("'","",$value)); if (strlen($name)>0) { $vars.="'".$value."',"; $namesshort.="`$name`,"; if (strpos(" ".$name,'text')>0) $names.="`$name` text NOT NULL,"; else $names.="`$name` VARCHAR( 255 ) NOT NULL,"; } } if ($first==1) { query("DROP TABLE `$table`;"); query(" CREATE TABLE `shopdata`.`$table` ( $names `last` DATETIME NOT NULL ) ENGINE = MYISAM ; "); unset($first); } query("INSERT IGNORE INTO `shopdata`.`$table` ($namesshort `last`) VALUES ($vars now());"); } echo "Done: ".$table." (".$i.")n"; } //print_r($_SERVER); if ($_SERVER[argv][1]==1) read_table("SELECT * FROM Auftraege where Vorgang='L'","auftraege"); if ($_SERVER[argv][1]==2) read_table("select * from Kundenkontakt_Ansprechpartner","kundenkontakt_ansprechpartner"); //Kundennummer,Postleitzahl,Timestamp_Datum,Timestamp_Zeit,E_Mail,Rabattgruppe,Name1,Name2,Strasse,Ort if ($_SERVER[argv][1]==3) read_table("select Kundennummer,Name1, Name2, Strasse, Ort, Vertreter1, Preisgruppe, Auswertungskennzeichen, Briefcode, Briefanrede, Kurzbezeichnung, Ansprechpartner_Kundennummer, Ansprechpartner_Nummer, Telefon, Telefax, Kundengruppe, Rabattgruppe, Postfach, Zahlungsart, Postleitzahl, Laendercode, E_Mail from Kunden order by Timestamp_Datum DES","kunden"); //, if ($_SERVER[argv][1]==4) read_table("Select * FROM Artikel","artikel"); if ($_SERVER[argv][1]==5) read_table('SELECT * FROM "Lieferanten"',"lieferanten"); if ($_SERVER[argv][1]==6) read_table('SELECT * FROM "KundenArtikelSonderpreise"',"kundenartikelsonderpreise"); ?>