1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

Function Sequence error10

  • Paladin_FRW
  • 4. August 2006 um 11:35
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • Paladin_FRW
    Punkte
    773
    Beiträge
    124
    • 4. August 2006 um 11:35
    • #1

    Hiho,

    ich sitze jetzt schon fast zwei Tage an diesem Fehler, aber mir erschließt sich nicht, woher er kommt. Code ist folgender:

    Code
    $dType = "Microsoft Excel Driver (*.xls)";
    $dbn = $ARGV[0];
    $dbdesc = "bau_at";
    $dbloc = $ARGV[0];
    $dir = "C:\\Cygwin\\home\\AT42840\\";
    %drivers = Win32::ODBC::Drivers();
    
    
    if(Win32::ODBC::ConfigDSN(ODBC_ADD_DSN,$dType,("DSN=$dbn",$dbdesc,"DBQ=$dir\\$dbloc","DEFAULTDIR=$dir","UID=","PWD="))){
        print "Konfiguration des DSN $dbn erfolgreich!\n";
    }
    else
    {
        print "error!";
        Win32::ODBC::DumpError();
    }
    
    
    $db = new Win32::ODBC("DSN=$dbn");
    if($db == undef){    
      print "Fehler beim Verbinden mit $dbn\n";
      print "Fehler: ". Win32::ODBC::Error() ."\n";
      exit;
    }
    $query = ("SELECT * FROM index");
    if($db->Sql($query))
    {
    
    
        print "Echo!!!!!";
        $rows = 0;
        $row = $db->FetchRow() or die qq(Fetch Error: ), $db->Error(), qq(\n);
        print $row;
        while($db->FetchRow() and $rows < 10)
        {    
            print "Echo!!";
            print $db->FieldNames();    
            undef %Data;
            %Data = $db->DataHash();
            print "$Data\n";
            $rows++;
        }
    }
    Alles anzeigen


    Die Idee dahinter ist, ich lese ein Excel Workbook ein und möchte auf diese einfach mal eine sql- abfrage starten. Allerdings bekomm ich beim starten folgenden output

    Code
    Konfiguration des DSN BAU_AT_10_200606.xls erfolgreich!
    Fetch Error: 911[Microsoft][ODBC Driver Manager] Function sequence error10
    Echo!!!!!


    Ich habe absolut keinen Dunst, was da sein könnte. Google schweigt sich auch aus dazu. Ich wäre sehr froh, wenn ein Perl-Guru sich das mal ansehen könnte und mir meinen Fehler zeigen. Es ist wahrscheinlich eh trivial, aber ich sehs einfach nicht worand das liegt.

    danke!

    lg
    Philipp

  • Paladin_FRW
    Punkte
    773
    Beiträge
    124
    • 4. August 2006 um 13:23
    • #2

    Ich hab das Problem!

    Code
    $query = "SELECT * FROM index";


    war der übeltäter.

    sollte heißen

    Code
    $query = ('SELECT * FROM [Index$]');


    Für künftige Generationen :) Der Fehler war, dass ich FetchRows() aufgerufen habe, obwohl die query in den Sand gegangen ist, was ich mit

    Code
    if($db->Sql($query))


    abfangen hätte sollen. dummerweise liefert die Sql() Methode undef zurück im Falle eines Erfolgs, deswegen muss man

    Code
    if([B]![/B]$db->Sql($query))


    schreiben.

    Aber ich hab gleich eine weitere Frage:

    Warum schluckt der Arsch mir die erste Zeile meiner Excel Datei?

    alles andere wird korrekt angegeben...

    any hints welcome :)

    lg
    Philipp

  • Paladin_FRW
    Punkte
    773
    Beiträge
    124
    • 4. August 2006 um 13:47
    • #3

    Auch das ist gelöst...

    Die erste Zeilt wird als FieldNames gehandelt... eigentlich klar.

    also, in diesem sinne, wenn irgendwer diese Probleme hat: hier sind die lösungen :thumb:

    lg
    Philipp

  • Maximilian Rupp 27. Dezember 2024 um 12:05

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum