Ankündigung

Einklappen
Keine Ankündigung bisher.

ODBC mit Access von Linux aus

Einklappen

Neue Werbung 2019

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

  • ODBC mit Access von Linux aus

    neues Projekt, neues Problem .....

    ich soll ein PHP-Script bauen, dass von Linux aus sowohl Daten aus mysql als auch aus einer MS-Access-Datenbank lesen soll ...

    da mein Script auf einem CentOS Linux laufen wird hab ich irgendwie keine richtige Ahnung, wie ich vernünftig an die Access-Datenbank herankomme, denn deren Engine läuft ja unter Windoof ...

    nun hab ich mal Google bemüht, was mich auf ODBC gebracht hat - aber muss ich dazu wirklich Apache und co neukompilieren ? .. das wird meinem Admin gar nicht gefallen ...
    "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste


  • #2
    Wenn die Engine auf nem Windoof PC läuft, brauchste mit PHP nur connecten
    Natürlich sind diverse Sicherheitseinrichtungen eventuell umzukofigurieren (MS-Access nur von localhost ...)

    http://de3.php.net/odbc

    Mfg

    Kommentar


    • #3
      danke . mal wieder eine Anleitung, die das entscheidende in 3 1/2 worten abhandelt .. nämlich auf die notwendige Installation des ODBC Treibers gar nicht eingeht ... aber zumindest kann ich damit schon mal meine Datenbank-Klasse auf odbc trimmen
      "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

      Kommentar


      • #4
        sorry für Doppelpost

        $conn= odbc_connect($this->server,$this->user,$this->pass); -> führt zu:

        Fatal error: Call to undefined function odbc_connect() in /usr/local/bosinet_DB/include/class_odb.php on line 61 ....

        das kanns ja noch nicht sein... muss ich da irgendwas einbinden ? im Manual stehl leider GAR NICHTS dazu
        "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

        Kommentar


        • #5
          Zitat von eagle275 Beitrag anzeigen
          Fatal error: Call to undefined function odbc_connect() in /usr/local/bosinet_DB/include/class_odb.php on line 61 ....

          das kanns ja noch nicht sein... muss ich da irgendwas einbinden ?
          Ja, du musst es wohl erst mal einbinden ...

          im Manual stehl leider GAR NICHTS dazu
          Mal gegooglet?

          Ich finde bspw. auf Anhieb http://www.easysoft.com/developer/la...ache_odbc.html

          Kommentar


          • #6
            mein "im Manual steht leider gar nichts " bezieht sich auf den Artikel , der mir verlinkt wurde ...

            da steht in der Einleitung kurz was zu irgendwelchen Bind-Parametern - aber ob ich ein include brauche nicht .. und im Text irgendwo dann "die folgenden Funktionen funktionieren auch ohne dass ODBC installiert ist .... " nur krieg ich halt die Fehlermeldung ....
            "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

            Kommentar


            • #7
              Wie soll PHP auf die ODBC-Funktionen zugreifen können, wenn das Modul nicht eingebunden ist? Der Link von ChrisB ist was für deinen Admin.

              Kommentar


              • #8
                um meinen Admin seinen Urlaub schlagartig von 3 Wochen auf "für immer" ändern zu lassen, wolltest du wohl sagen, wenn der hört, dass er wegen ner dämlichen Datenbankverbindung PHP UND Apache manuell neu kompilieren muss .. dann kann ich das gleich vergessen .. gibts da keinen anderen Weg, der ohne neu Compilieren quasi des kompletten Webservers auskommt ?
                "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                Kommentar


                • #9
                  Zitat von eagle275 Beitrag anzeigen
                  um meinen Admin seinen Urlaub schlagartig von 3 Wochen auf "für immer" ändern zu lassen, wolltest du wohl sagen, wenn der hört, dass er wegen ner dämlichen Datenbankverbindung PHP UND Apache manuell neu kompilieren muss .. dann kann ich das gleich vergessen .. gibts da keinen anderen Weg, der ohne neu Compilieren quasi des kompletten Webservers auskommt ?
                  Unter Linux m.W. nein.

                  Keine Arme, keine Kekse ...

                  Kommentar


                  • #10
                    F**k .. danke Chris, dann hoff ich mal der frisst mich nicht, wenn ich ihm die Dokumente vorlege ...
                    "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                    Kommentar


                    • #11
                      so .. gute 10 Stunden Google und die Entscheidung fällt auf AdoDB . aber trotzdem bekomm ich nur eine "nette" Fehlermeldung zu sehen

                      SQL state IM002 in SQLConnect ... no Default Driver blabla

                      , da AdoDB "hinten herum" doch wieder ODBC einsetzt .. wie muss ich das Sch.. ding konfigurieren, dass ich auf eine entfernte Access-DB zugreifen kann, wo ich nur Zugang mit IP , Datenbank, User , Passwort (beides für die Datenbank) habe ?

                      hier der entsprechende Code
                      PHP-Code:

                      $db
                      =ADONewConnection("access");
                      $dsn="Driver={Miocrosoft Access Driver (*.mdb)};Dbq=\\\\".$this->server."\\".$this->DBank.";Uid=".$this->user.";Pwd=".$this->pass.";";
                      $db->Connect($dsn); 
                      $this->server ist eine IP-Adresse, die ich im Netzwerk erreichen kann
                      "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                      Kommentar


                      • #12
                        Wenn schon ein Datenbankabstraktionsschicht warum nicht gleich PDO ?
                        Infos zu PDO mit ODBC findest Du hier: http://de.php.net/manual/de/ref.pdo-odbc.php
                        AFFE ist nur im Dezimalsystem ein Palindrom.

                        Kommentar


                        • #13
                          es geht mir eigentlich nicht um die Abstraktion, ich habe nur einen Linux-Webserver, der ein paar Informationen aus einer Access-Datenbank holen soll - Vorlage ist eine (uralte) Delphi-Anwendung, die ich nun durch eine klein PHP-script ersetzen SOLL ...

                          auf einem Testserver mit Debian geht das auch problemlos - nur eigenartigerweise bekomm ich auf dem gleichkonfiguriertem (Aussage mein Admin) CentOS 5.5 diese Meldung .. und wenn PDO auch auf odbc setzt, dann häng ich da vor der gleichen Fehlermeldung .,...

                          und meine vorherigen Versuche mit "nacktem" ODBC scheitern am gleichen - jedwedes Beispiel, dass ich im Web finde beschäftigt sich entweder mit "Kinderkram" wie mysql über odbc , da man den Treiber dafür mitbekommt .. sobald aber access gefragt ist, soll ich einen komerziellen Treiber verwenden (würg), was eigentlich von vorn herein der Tod des Projektes ist, weil nunmal kein Geld ausgegeben werden soll wegen 7 Datenwerten , die alle 5 Sekunden aus einer Access-Tabelle kommen sollen ...
                          "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                          Kommentar


                          • #14
                            es geht mir eigentlich nicht um die Abstraktion....
                            Das war mir schon klar.
                            Das war nur als Zusatzinfo gedacht da ADO halt in PHP geschrieben ist und PDO in C (eingebaut).

                            Mit
                            PHP-Code:
                            print_r(PDO::getAvailableDrivers()) 
                            kannst Du wenigstens mal testen ob Dir der Treiber für ODBC zur Verfügung steht.
                            Bei dem Link den ich Dir gegeben habe ist auch ein Anleitung für Deinen Admin dabei was benötigt wird.

                            und wenn PDO auch auf odbc setzt, dann häng ich da vor der gleichen Fehlermeldung .,...
                            ja, aber da wird Dir hier niemand helfen können, da wir die Server-Config nicht kennen.
                            Das musst Du schon mit Deinem Admin klären.

                            Fatal error: Call to undefined function odbc_connect() in /usr/local/bosinet_DB/include/class_odb.php on line 61 ....

                            Sagt nun mal das er die Funktion nicht kennt, also liegt nahe das das Zeug dafür eben nicht installiert ist oder er hat es installiert aber den apache nicht neu gestartet ... da gibt es viel Möglichkeiten
                            AFFE ist nur im Dezimalsystem ein Palindrom.

                            Kommentar


                            • #15
                              du hast die falsche Fehlermeldung .. inzwischen krieg ich

                              SQL error: [unixODBC][Driver Manager]Data source name not found, and no default driver specified, SQL state IM002 in SQL connect ...

                              und ... bezieht sich direkt auf die Zeile in den adodb dateien ... also ...

                              ich schau nochmal wegen PDO .. aber wenn mein Admin irgendwas von "per Hand" installieren hört .. oder sogar kompilieren , wirft er mich hochkant ausm Fenster

                              print_r (PDO::getAvailableDrivers()); ->

                              Array ( [0] => mysql [1] => odbc [2] => sqlite )

                              womit für mich nur wieder ODBC bleibt, um auf die Access zu kommen ..
                              "Irren ist männlich", sprach der Igel und stieg von der Drahtbürste

                              Kommentar

                              Lädt...
                              X