2009-11-09 8 views
-1

Je dois écrire un script php pour charger 1 million d'enregistrements et en faire des instructions d'insertion.php charge 10000 enregistrements

i faire de chaque sélectionnez pour revenir seulement 100 000 enregistrement, mais le script ne rien faire

ini_set('memory_limit', '200M'); 
ini_set('max_execution_time', '0'); 

include_once("/var/www/adodb/adodb.inc.php"); 

$DB_Conn = NewADOConnection("mssql"); 

$DB_Conn->PConnect("*.*.*.*", "***","***", "**"); 

echo 'Start'."\n"; 

$rs = $DB_Conn->_Execute("SELECT * FROM *** where id >=1 and id <=100000 order by id asc "); 

while (!$rs->EOF) { 
//print the result to a file as insert statements,and i try print to the console 
    $rs->MoveNext(); 
} 

mais le script juste imprimer commencer, j'attendre très longtemps, mais rien imprimé.

i essayer de mettre ini_set('memory_limit', '200M');

mais il n'a pas d'effet, je vous remercie de votre aide.

Ajouté

Puis-je exporter les enregistrements de MSSQL 2000 à MySQL de toute autre manière. (Sous Linux sans IUG)

+0

Vous devriez recevoir des messages d'erreur quelque part. Essayez de mettre ini_set ('display_errors', E_ALL); comme la première ligne de votre script: vous devriez alors être en mesure de voir ce qui se passe – Ian

Répondre

0

Matin,

i wouldnt aille chercher tant de dossiers en une seule étape, pourquoi pas 50.000 par course ou quelque chose comme ça? En outre, vous pouvez essayer de définir le timelimit à 0?

+0

Désolé, je oublie de mentionner que le plus grand nombre de travail pour moi est 1000 voulez-vous dire par limite de temps max_execution_time – Mario

+0

yes set_time_limit (0); – opHASnoNAME