ODBC auf Fox Pro

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ODBC auf Fox Pro

    Also Leute, jetzt mal klartext!

    Ich hab ein sehr mächtiges Problem!

    Für einen Kunden Programmiere ich derzeit einen Shop mit anbindung
    an die Fakturierung!

    Dazu benötige ich eine ODBC Anbindung an FoxPro von meinem Linuxserver.
    So weit so gut, mehrfach habe ich schon erfahrung mit DB2 anbindung via ODBC, also alles halb so wild.
    jetzt zu meinem Problem:

    Ich bekomme nur Fehlermeldungen die aussagen, dass die zugriffe NICHT möglich sind, bzw: die Datei nicht vorhanden sei.

    PHP Version relativ unwichtig, da ich mit der 4er (4.4.2-pl1) und auch der aktuellen 5er (?) permanent zugriffe auf andere Datenbanken via ODBC durchführe.
    mySQL auch unwichtig, da nicht genutzt!

    FoxPro aktuelle 9.0 Version, aktueller Treiber für ODBC in der MDAC (für den Windowstest Firmenintern) 2.8 vorhanden.

    Reihenfolge der einrichtung (ich teste erst die verbindung lokal/statisch vom Win system aus):

    1. einrichten der Windows system-dsn.
    2. miniscript zur einfachen abfrage schreiben.
    3. 8h fehlersuche im netz, inkl. aller Microsoft MSDN seiten zum Thema sowie der meisten google ergebnisse.
    4. Suche hier, null ergebnis. außer uralt foxpro einträge die meistens nicht beantwortet wurden!

    auszüge der registry für die dsn's dbfakt, dbfakt(xxx) ist der standart treiber der software der auch funktioniert ???, und einer beispiel odbc mysql dsn.

    dbfaktxxx:

    dbfakt:

    mysql:


    Code für die erste abfrage:
    PHP-Code:
    $dbid odbc_connect('dbsource','','');


        
    $SITT "SELECT * FROM ADRESSEN";
        
    $SITD odbc_exec($dbid,$SITT);
        
    $dis  odbc_result($SITD"K_NUMMER");

        echo 
    $dis
    für die mysql abfrage:
    PHP-Code:
    $dbid odbc_connect('mysql','','');


        
    $SITT "SELECT * FROM body";
        
    $SITD odbc_exec($dbid,$SITT);
        
    $dis  odbc_result($SITD"dt");

        echo 
    $dis
    Also ersichtlicherweise, STANDART!

    jetzt die Fehlermeldung:

    Warning: odbc_connect(): SQL error: [Microsoft][ODBC Visual FoxPro Driver]
    Datei '\\fs\shoptest\adressen.dbf' kann nicht geöffnet werden., SQL state
    S1000 in SQLConnect in
    D:\xampp\htdocs\kunden\printor\html\shop\dbf_test.php on line 3


    also was geht???

    Ich drehe derzeit durch, vor allem weil ich den shop nächste woche fertig haben will!

    anbei noch ein paar nützliche tips die ich im netzt gefunden habe!

    http://www.roth.net/perl/odbc/SQLState/

    natürlich könnte ich auch noch die links für die dsn einrichtung mit schicken aber ich denke das ist bekannt.

    zur info:
    Im netzt habe ich diverse infos gefunden die von rechte problemen sprechen, aber ganz ehrlich, ich bin jetzt vom entwickler PC bis zum entsprechende´m DB server GOTT, ich denke ihr wisst was ich meine.
    Ich habe also wirklich jedes erdenkliche recht auf jedem rechner und trotzdem funktioniert der zugriff nicht.
    Habe sogar in der regedit die rechte für die sys-dsn auf jeder = all gesetzt, null erfolg!

    Ich weiß echt nicht merh weiter!

    BITTE HILFE!

    PS.: ich hoffe ich werde mit der ausführung meines Problems dem Board gerecht (ausser meiner rechtschreibung evtl.) :-)

    greetz
    Zuletzt geändert von maikos; 21.10.2006, 11:36.

  • #2
    probiere verschiedene connect strings aus:

    http://www.codeproject.com/database/...asp#ODBC%20DSN
    http://www.codeproject.com/database/...isual%20FoxPro
    http://www.somacon.com/p251.php

    siehe auch die user notes zu odbc_connect() von Grisu und TheFrenZ bzgl. der rechte.

    Kommentar


    • #3
      PHP-Code:
      $connect_string "DRIVER={Microsoft Visual FoxPro-Treiber};".
                         
      "CommLinks={ALL};".
                         
      "ServerName=$db_server_name;".
                         
      "DatabaseFile=$db_file;".
                         
      "DatabaseName=$db_name;".
                         
      "ConnectionName=$db_conn_name;";

        
      $conn odbc_connect($connect_string,'192.168.0.180','',''); 
      hab ich auch schon getestet, aber thx für die links, hab doch anreitze gefunden!
      werd ein paar dinger testen!
      ah ja, user rechte hab ich scho durch ... ich dreh bald durch!

      Kommentar


      • #4
        die parameter zu odbc_connect() sehen seltsam aus. username ist doch keine ip, cursor_type kein string? schau noch mal ins manual.

        Kommentar


        • #5
          hmmmm.....
          das was mich am meisten nervt ist, das es mit vielen anderen daten auf dem gleichen server funktioniert:
          sql, mysql, accsess, excell ....

          und "normalerweise" brauche ich die connection eigendlich keine parameter benötigt, da ich diese ja im dsn schon habe, du verstehst?!

          und mein odbc_connect() ist ja absolut simpel gehalten!

          ach ja, danke für den tip!

          hab schon was gefunden :-) aber das zeiht bei mir nicht!
          erst wenn ich auf den linux server gehe!

          ähhh...
          noch was:
          gibt es eigendlich (jetzt mal ne idee von mir) probleme mit meiner eigenen xampp install? das sich da die rechte ins nirvana legen?

          wäre noch was ... wo finde ich die infos zu den rechten der von dir genannten user ?
          steh grad aufm schlauch!

          greetz
          maik

          Kommentar


          • #6
            gibt es eigendlich (jetzt mal ne idee von mir) probleme mit meiner eigenen xampp install?
            das sich da die rechte ins nirvana legen?
            warum das?
            wo finde ich die infos zu den rechten der von dir genannten user ?
            hat Grisu eigentlich geschrieben - was ist daran unklar?

            Kommentar


            • #7
              lol,

              hi erstmal und danke für deine tips, aber nichts hilft, die rechte tips hab ich complete durch und eine menge von anderen seiten.

              ich kauf mir nu nen roller und fahr damit mal auf den schienen!

              irgendwo ist der wurm drin und ich komm net weiter!

              ach noch was ...

              mit rechte vom xampp aus meinte ich, das ich irgendeinen usernamen angebe und dieser aber überhaupt nicht gedultet wird!

              Da ich keinen ISS habe/nutze nützt mir auch kein tip bezüglich INET_user etc. ich verzweifel echt....

              ich bitte um hilfe *aufdiekniesinkt*

              gruß
              maik

              Kommentar


              • #8
                Erledigt...

                Es waren und sind die Rechte!

                MS macht einfach bei einem Entfernten Zugriff von Linux DICHT!

                Im Prinzip habe ich die Lösung wie in http://www.php-resource.de/forum/lin...inrichten.html angewendet!

                Der letzte Eintrag ist der, der es auflöst!

                Danke trotzdem euch allen.

                gruß
                Maik

                PS: Als Hinweis, wenn Ihr mit FoxPro Arbeitet, kann es sein das Ihr bei Verdichten Funktion oder ähnlichen Wartungsfunktionen auf der Datenbank Probleme bekommt, wenn Ihr den ODBTP Service offen habt! Dienst beenden, Funktion Local ausführen, Dienst Starten!

                Kommentar

                Lädt...
                X