odbc-Fehlermeldung

blue_sky2

Grünschnabel
HAllo zusammen!

Ich brauch dringend Eure Hilfe
Ich habe zwei funktionstüchtige Datenbank-Server: MySQL-Server (Local_Server) und Ingres-Server (Remote_Server).
Innerhalb eines Php-Skripts baue ich zwei Verbindungen mit mysql_connect() und odbc_connect().
Der DB-Verbindungsaufbau ist auf beiden Seiten korrekt, keine Fehlermeldung.
Die Daten werden zwar in der tabelle kunde2 gelöscht und auch aus der Ingres-DB (tabelle kunde) selektiert, aber leider immer noch nicht in Mysql-DB (tabelle kunde2) insertiert. Ich bekomme die folgende Fehlermeldung:

UPDATE FULL begin
ooo1oooUpdating: 1
query error: insert into kunde2 (id, name) values( 4,Müller)


Seit zwei Tagen versuche ich den Fehler zu finden. Vergeblich.Ich werde langsam verrückt.
Ich werde für jede Hilfe dankbar sein

Nadja

Hier mein Programm:
PHP:
<?php

function UpdateFull()
{
    print "UPDATE FULL begin<br>";

    // bildet eine Verbindung zum Ingres
    $cR= odbc_connect('test','','');
    
    if( ! $cR) 
    {
        print 'Keine Verbindung zum Ingres_DB';
        return;
    }

    // bildet eine Verbindung zum Mysql
    $cL = mysql_connect( "localhost", "root", "");
    if( ! $cL)
    {
        print 'Keine Verbindung zum MySQL_DB';
        return;
    }

    // löscht Daten aus der Zieltabelle
    $strDel = "delete from kunde2";
    $rm = mysql_db_query( "test2", $strDel, $cL);
     
    if( ! $rm)
    {
        print "Fehler bei delete: qs: $strDel <br>";
        return;
    }

    // selektiert Daten aus der Quelltabelle und fügt sie in die Zieltabelle ein
    $qs = "select id, name from kunde'";
    $ri = odbc_exec( $cR, $qs);
    
    
    
    if( ! $ri)
    {
        print "query error: $qs <br>";
        return;
    }

    
    //$num = odbc_num_rows($ri);
    while(odbc_fetch_row($ri)){$num++;}; 
    
    
    echo "ooo".$num."ooo";
    
//    $num=1;
     
    print "Updating: $num <br>";

    for( $i=0; $i<$num; $i++)
    {
        $row = odbc_fetch_row( $ri); // setzt den zeilenzeiger
        //echo "uuu".$row."uuu";
        $v1 = odbc_result($ri,1); // holt die werte aus der zeile
        #$v1 = "''"; 
        $v2 = odbc_result($ri,2);
        
        $qs = "insert into kunde2 (id, name) values( $v1, $v2)";
        $ins = mysql_db_query( "test2", $qs, $cL);
         
         
        if( ! $ins)
        {
            print "query error: $qs <br>";
            return;
        }
    }

    print "DONE ! <br>";
    
}

function Update()
{
    UpdateFull();
    
}

?>

<html><head></head><body>

<?php Update(); ?>

</body></html>
 
Zuletzt bearbeitet:
Keine Antwort auf meine Frage :(
Ich bin für jede Hilfe dankbar!

Nadja
blue_sky2 hat gesagt.:
HAllo zusammen!

Ich brauch Eure Hilfe!
Ich habe zwei funktionstüchtige Datenbank-Server: MySQL-Server (Local_Server) und Ingres-Server (Remote_Server).
Innerhalb eines Php-Skripts baue ich zwei Verbindungen mit mysql_connect() und odbc_connect().
Der DB-Verbindungsaufbau ist auf beiden Seiten korrekt, keine Fehlermeldung.
Die Daten werden zwar in der tabelle kunde2 gelöscht und auch aus der Ingres-DB (tabelle kunde) selektiert, aber leider immer noch nicht in Mysql-DB (tabelle kunde2) insertiert. Ich bekomme die folgende Fehlermeldung:

UPDATE FULL begin
ooo1oooUpdating: 1
query error: insert into kunde2 (id, name) values( 4,Müller)


Seit zwei Tagen versuche ich den Fehler zu finden. Vergeblich.Ich werde langsam verrückt.

Danke im Voraus

Nadja

Hier mein Programm:
PHP:
<?php

function UpdateFull()
{
    print "UPDATE FULL begin<br>";

    // bildet eine Verbindung zum Ingres
    $cR= odbc_connect('test','','');
    
    if( ! $cR) 
    {
        print 'Keine Verbindung zum Ingres_DB';
        return;
    }

    // bildet eine Verbindung zum Mysql
    $cL = mysql_connect( "localhost", "root", "");
    if( ! $cL)
    {
        print 'Keine Verbindung zum MySQL_DB';
        return;
    }

    // löscht Daten aus der Zieltabelle
    $strDel = "delete from kunde2";
    $rm = mysql_db_query( "test2", $strDel, $cL);
     
    if( ! $rm)
    {
        print "Fehler bei delete: qs: $strDel <br>";
        return;
    }

    // selektiert Daten aus der Quelltabelle und fügt sie in die Zieltabelle ein
    $qs = "select id, name from kunde'";
    $ri = odbc_exec( $cR, $qs);
    
    
    
    if( ! $ri)
    {
        print "query error: $qs <br>";
        return;
    }

    
    //$num = odbc_num_rows($ri);
    while(odbc_fetch_row($ri)){$num++;}; 
    
    
    echo "ooo".$num."ooo";
    
//    $num=1;
     
    print "Updating: $num <br>";

    for( $i=0; $i<$num; $i++)
    {
        $row = odbc_fetch_row( $ri); // setzt den zeilenzeiger
        //echo "uuu".$row."uuu";
        $v1 = odbc_result($ri,1); // holt die werte aus der zeile
        #$v1 = "''"; 
        $v2 = odbc_result($ri,2);
        
        $qs = "insert into kunde2 (id, name) values( $v1, $v2)";
        $ins = mysql_db_query( "test2", $qs, $cL);
         
         
        if( ! $ins)
        {
            print "query error: $qs <br>";
            return;
        }
    }

    print "DONE ! <br>";
    
}

function Update()
{
    UpdateFull();
    
}

?>

<html><head></head><body>

<?php Update(); ?>

</body></html>
 
Zurück