Felix Riesterer: Microsoft SQL für Linux?

Liebe Mitlesende,

wie muss ich diese Meldung bei heise.de verstehen?

Microsoft kündigt offiziellen SQL-Server-Treiber für Linux an

Bedeutet das, dass ich in Zukunft eine in MS Access erstellte DB mit diesem Treiber unter Linux "verwenden" (mit SQL-Anweisungen lesen und modifizieren) kann? Eventuell sogar mit LibreOffice als Frontend?

Liebe Grüße,

Felix Riesterer.

--
ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
  1. Yerf!

    SQL-Server != Access

    Du kannst in Zukunft den SQL-Server von Microsoft von Linux aus ansprechen ohne auf 3rd-Party Treiber zurückgreifen zu müssen (die gabs vorher schon).

    Die Jet-Engine von Access hat damit nichts zu tun.

    Gruß,

    Harlequin

    --
    RIP --- XHTML 2
    nur die Besten sterben jung
    1. Lieber Harlequin,

      Die Jet-Engine von Access hat damit nichts zu tun.

      Aaaah, das verstehe ich.

      Ich suche noch immer eine Möglichkeit, unter Apache/PHP/Linux eine *.mdb-Datei als Datenbank mit SQL-Anweisungen auszulesen, um sie in eine MySQL-DB zu übertragen. Offensichtlich benötige ich dazu einen ODBC-Treiber... und da habe ich "MDB Tools" gefunden. Nach der Installation von mdbtools weiß ich aber nicht so wirklich weiter. Zumindest taucht nach dem Restart des Apachen in phpinfo() kein "mdbtools" in den gelisteten Modulen auf.

      In meinem Ubuntu Software-Center steht nach der Installation, dass mdbtools einen ODBC-Treiber anbietet, mit dem man unter PHP eine Verbindung mittels des unixODBC-Treibermanagers zu einer *.mdb-Datei herstellen könnte. Bedeutet das, dass ich in PHP einfach ein odbc_connect() aufrufe? Ein User-Comment scheint das zu bestätigen.

      Leider kennt mein PHP5 (noch immer) kein odbc_connect()... Was habe ich jetzt falsch verstanden?

      Liebe Grüße,

      Felix Riesterer.

      --
      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
      1. Moin!

        Leider kennt mein PHP5 (noch immer) kein odbc_connect()... Was habe ich jetzt falsch verstanden?

        http://de2.php.net/manual/de/book.uodbc.php

        MFFG (Mit freundlich- friedfertigem Grinsen)

        fastix

        1. Lieber fastix®,

          http://de2.php.net/manual/de/book.uodbc.php

          bin ich jetzt doof, oder muss ich dazu nicht ein Windows-Hostsystem haben? In der Dokumentation steht, dass die Windows-Version von PHP diese Funktionen bereits enthielte. Dass man sie unter *nix-basierten Systemen nachinstallieren könnte, und vor allem wie, steht dort nirgends.

          Was wolltest Du mit mit Deinem Link sagen?

          Liebe Grüße,

          Felix Riesterer.

          --
          ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
          1. Moin!

            Was wolltest Du mit mit Deinem Link sagen?

            Das ODBC installiert sein muss. Linux hat ein eigenes ODBC-System, für den Zugriff auf die Datenbank selbst sind dann wieder "ODBC-Treiber" erforderlich, während die Anwendung selbst auch ODBC können muss. Auf diese Treiber bezog sich wohl die urprünglich diskutierte Meldung von Microsoft.

            Das Ganze sieht also so aus:

            Anwendung <-> ODBC <-> ODBC-Datenbanktreiber <-> (Netzwerk) <-> (MS-SQL-)Datenbank

            Zitat:

            "hat auf dem PASS Summit 2011 einen offiziellen ODBC-Treiber für den SQL Server unter Linux angekündigt." (gemeint natürlich der MSSQL-Server unter Windows und der Treiber für Linux-ODBC.

            In der Dokumentation steht, dass die Windows-Version von PHP diese Funktionen bereits enthielte.

            Ja. Aber es handelt sich da wohl um einen nativen Zugriff.

            Microsoft bietet darüber hinaus für PHP (unter Windows) selbst eine Erweiterung an.

            Was davon in Deinem PHP steckt kann ich nicht wissen.

            MFFG (Mit freundlich- friedfertigem Grinsen)

            fastix

      2. Yerf!

        Erst mal: ich kenn das nur von der Theorie her... mit Datenbanken unter Linux hatte ich bisher wenig zu tun.

        Aber: mdbtools ist wol eine Sammlung von Tools + ODBC-Treiber für Access. Enthält aber kein PHP-Modul. Allerdings sollen da Tools dabei zu sein für einen Export in eine andere (z.B. MySQL) Datenbank. Evtl. reicht das ja schon?

        Ansonsten: ODBC ist eine Schnittstelle. Die muss man unter Linux vermutlich extra installieren, dort dann eine Verbindung zur MDB mittels des mdbtools-Treiber konfigurieren und für PHP schätz ich mal noch eine ODBC-Erweiterung installieren damit der odbc_connect() zur verfügung steht. Dann sollte das auch über PHP klappen.

        Gruß,

        Harlequin

        --
        RIP --- XHTML 2
        nur die Besten sterben jung
        1. Moin Moin!

          ODBC ist eine Schnittstelle. Die muss man unter Linux vermutlich extra installieren, dort dann eine Verbindung zur MDB mittels des mdbtools-Treiber konfigurieren und für PHP schätz ich mal noch eine ODBC-Erweiterung installieren damit der odbc_connect() zur verfügung steht. Dann sollte das auch über PHP klappen.

          So sieht das aus. Und gilt genauso für Perl (DBD::ODBC) und alle anderen Sprachen, die an ODBC andocken können.

          Windows bringt seit Jahren einen ODBC-Manager, in 64-Bit-Versionen auch mal zwei mit, Linux nicht. Da hat man zwischen verschiedenen Managern die Auswahl, die zwei häufigsten sind unixODBC und iODBC.

          Siehe auch README.sqlserver.

          Alexander

          --
          Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".
          1. Lieber Alexander (HH),

            ODBC ist eine Schnittstelle. Die muss man unter Linux vermutlich extra installieren,

            So sieht das aus.

            tja, aber wie? Ich bin schon den ganzen Tag am mich durch diverse Dokumentationen durchwühlen. Unter PHP/WinXP konnte ich in der php.ini einstellen, welche Erweiterung in PHP geladen werden soll - in Ubuntu (mittlerweile 11.10) scheint so etwas nicht zu existieren. Offensichtlich ist in PHP/Linux grundsätzlich (nicht) alles von vornherein enthalten. Für Fehlendes gibt es (wohl) PEAR.

            unixODBC und iODBC.

            Ersteres ist bei mir installiert. Die unixODBC-Bibliothek nennt mein Software-Center als installiert, ebenso wie die mdbtools. Was ist nun aber der nächste Schritt?

            Liebe Grüße,

            Felix Riesterer.

            --
            ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
            1. Hi!

              Offensichtlich ist in PHP/Linux grundsätzlich (nicht) alles von vornherein enthalten.

              Richtig. Man muss je nach Paketverwaltung zusätzlich benötigte Module hinzufügen (oder mit einkompilieren). Ist aber unter Windows auch so, nur dass da vieles schon als DLL mitgeliefert wird und nur noch in der php.ini eingebunden werden muss.

              Für Fehlendes gibt es (wohl) PEAR.

              Nein, das hat damit nichts zu tun. Da kommt eher PECL infrage, bei solchen Extensions, die recht selten benötigt werden.

              Lo!

              1. Lieber dedlfix,

                wenn ich auf der Konsole "pecl install pear/MDB2#odbc" eingebe, erhalte ich folgende Fehlermeldung:

                pear.php.net is using a unsupported protocol - This should never happen.
                install failed

                Laut einem User Comment habe ich brav die Channels neu erstellen lassen (bei mir unter /usr/share/php/.channels anstatt unter /usr/local/lib/php/.channels), aber das Ergebnis war danach dasselbe.

                Auch "pear install pear/MDB2#odbc" führt zu einer Fehlermeldung, ohne mich zum Ziel zu führen:

                Failed to download pear/MDB2_Driver_odbc within preferred state "stable",
                latest release is version 0.1.0, stability "alpha",
                use "channel://pear.php.net/MDB2_Driver_odbc-0.1.0" to install
                Skipping package "pear/MDB2", already installed as version 2.5.0b3
                No valid packages found
                install failed

                Was bleibt mir noch zu tun? Ich hätte schon gerne einen ODBC-Treiber benutzt, um unter meinem Ubuntu mittels Apache/PHP eine Access-DB (*.mdb-Datei) auszulesen...

                Liebe Grüße,

                Felix Riesterer.

                --
                ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
                1. Hi!

                  wenn ich auf der Konsole "pecl install pear/MDB2#odbc" eingebe, erhalte ich folgende Fehlermeldung:

                  Ich denke nicht, dass dir das was nützt. MDB2 ist ein Abstraction Layer für Datenbankzugriff. Es vereinheitlicht dir nur den Zugriff von den in PHP enthaltenen Funktionen "nach oben hin". Wenn kein ODBC-Modul die odbc_*-Funktionen zur Verfügung stellt, nützt dir MDB2 gar nichts, mithin sind auch die PEAR-Versuche nicht zielführend. Dein Ziel sollte zunächst das Anzeigen der ODBC-Funktionalität in der phpinfo() sein.

                  Was bleibt mir noch zu tun? Ich hätte schon gerne einen ODBC-Treiber benutzt, um unter meinem Ubuntu mittels Apache/PHP eine Access-DB (*.mdb-Datei) auszulesen...

                  Befrag die Paketverwaltung nach ODBC und PHP.

                  Lo!

                  1. Lieber dedlfix,

                    Befrag die Paketverwaltung nach ODBC und PHP.

                    das war der entscheidende Hinweis! Ich habe nun "php5-odbc" installiert, und prompt sehe ich in der phpinfo() den Eintrag "ODBC", bei dem in den Einstellungen das vielversprechende "unixODBC" auftaucht.

                    Und siehe da: Kaum macht man's richtig, klappt alles wie verrückt! Jetzt kennt PHP auch odbc_connect().

                    Ich danke Dir!

                    Liebe Grüße,

                    Felix Riesterer.

                    --
                    ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
                    1. Lieber dedlfix,

                      ich kann zwar die Funktion odbc_connect() aufrufen, aber ich kann nicht zur *.mdb-Datei verbinden. Zuerst kam die Fehlermeldung, dass kein Default-Treiber definiert sei, und dass die Quelldatei nicht gefunden würde.

                      Mit (hoffentlich) passendem Editieren der Dateien odbc.ini und odbcinst.ini sieht das nun gottseidank besser(?) aus. Aber irgendwie beschleicht mich das Gefühl, dass ich etwas falsch mache. Welche Bibliothek soll ich denn als Treiber angeben? Die Vielfalt der möglichen Dateien in /usr/lib ist verwirrend. Offensichtlich hat auch niemand je ein Interesse daran, zu dokumentieren, wie es bei ihm (oder ihr) je erfolgreich geklappt hat.

                      Jedenfalls habe ich in "/usr/lib/libodbc.so.1" einen dynamischen Link gefunden, den ich mit identischem Ergebnis nutzen kann, wie den ebenfalls dynamischen Link "/usr/lib/libmdb.so.1". In der nachfolgenden ini-Datei ist letzterer referenziert. Ich vermute mal, dass das Referenzieren von z.B. "/usr/lib/libmdb.so.1.0.0" nicht sinnvoll ist, falls die Bibliothek einmal durch eine aktualisiertere Version ersetzt werden soll. Stimmt das? Ist das der Grund für den dynamischen Link?

                      ---odbcinst.ini---
                      [ODBC]
                      Trace = Yes
                      TraceFile = /tmp/sql.log

                      [Microsoft Access Driver (*.mdb)]
                      Description     = "Microsoft Access Driver (*.mdb)"
                      Driver          = /usr/lib/libmdb.so.1
                      Setup           =
                      FileUsage       = 1
                      CPTimeout       =
                      CPReuse         =
                      UsageCount      = 1
                      Trace           = Yes
                      TraceFile       = /tmp/sql.log
                      ---/odbcinst.ini---

                      ---odbc.ini---
                      [nwind.mdb]
                      Description = "Northwind Example Database"
                      Driver = "Microsoft Access Driver (*.mdb)"
                      Database = /home/[...]/nwind.mdb
                      Servername = localhost
                      Trace: Yes
                      TraceFile: mdbtools.log
                      Username =
                      Password =
                      port = 5432
                      ---/odbc.ini---

                      Wenn ich nun zur Datenbank verbinden möchte, erhalte ich unter Verwendung des Codes
                          odbc_connect("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=nwind.mdb", "", "");
                      den Fehler
                          "Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Driver's
                          SQLAllocHandle on SQL_HANDLE_HENV failed,
                          SQL state IM004 in SQLConnect in /home/[...]/test.php on line 8".

                      Für mich liest sich das, als ob der Treiber schon scheitert, bevor er an die DB "anklopft". Oder was ist hier falsch?

                      Zuerst hatte ich mich gefragt, wofür ich denn php5-odbc installieren sollte, wenn ich mdbtools nutzen möchte. Aber anscheinend ist mit der Referenz auf libmdb.so.1 der mdbtools-Treiber tatsächlich in Gebrauch. Warum habe ich aber mit der Verwendung von libodbc.so.1 denselben Effekt? War mdbtools unnötig?

                      Liebe Grüße,

                      Felix Riesterer.

                      --
                      ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
                      1. Hi!

                        Lieber dedlfix,

                        Dein automatischer Gruß spricht zwar mich an, aber ich kann dir hier nicht mit Erfahrung dienen, sondern nur meinen allgemeinen Senf zum Besten geben.

                        ich kann zwar die Funktion odbc_connect() aufrufen, aber ich kann nicht zur *.mdb-Datei verbinden. Zuerst kam die Fehlermeldung, dass kein Default-Treiber definiert sei, und dass die Quelldatei nicht gefunden würde.

                        ODBC ist seinerseits auch nur eine Abstraktion. Es ist gut möglich, dass die Linux-Lösung zweigeteilt ist - einmal allgemeine ODBC-Funktionalität und zum anderen ein DBMS-spezifischer Teil. Vielleicht erklären dir man-pages genauer, was die einzelnen DLLs so treiben (pun intended).

                        Mit (hoffentlich) passendem Editieren der Dateien odbc.ini und odbcinst.ini sieht das nun gottseidank besser(?) aus.

                        Mit den inis verhält es sich anscheinend wie unter Windows - in der odbc.ini stehen deine anwendungsspezifischen Angaben zur Datenquelle, in der odbcinst.ini stehen allgemeine Angaben zu den Treibern.

                        Aber irgendwie beschleicht mich das Gefühl, dass ich etwas falsch mache. Welche Bibliothek soll ich denn als Treiber angeben? Die Vielfalt der möglichen Dateien in /usr/lib ist verwirrend. Offensichtlich hat auch niemand je ein Interesse daran, zu dokumentieren, wie es bei ihm (oder ihr) je erfolgreich geklappt hat.

                        Anzunehmenderweise den DBMS-spezifischen Teil.

                        Jedenfalls habe ich in "/usr/lib/libodbc.so.1" einen dynamischen Link gefunden, den ich mit identischem Ergebnis nutzen kann, wie den ebenfalls dynamischen Link "/usr/lib/libmdb.so.1". In der nachfolgenden ini-Datei ist letzterer referenziert. Ich vermute mal, dass das Referenzieren von z.B. "/usr/lib/libmdb.so.1.0.0" nicht sinnvoll ist, falls die Bibliothek einmal durch eine aktualisiertere Version ersetzt werden soll. Stimmt das? Ist das der Grund für den dynamischen Link?

                        Ja, die dynamischen Links haben ja eine generischere Versionsnummer. Die eigentliche so-Datei kann ja aufgrund von Fehlerkorrekturen oder ähnlicher Weiterentwicklung erneuert werden und dann eine andere Nummer tragen. Die neue kann nun neben den früheren Versionen liegen, und so für "gestrige" Programme nutzbar bleiben. Verwender, die stattdessen nicht auf ältere Implementierungen angewiesen sind, bekommen über den Symlink die aktuelle Version.

                        ---odbc.ini---
                        [nwind.mdb]
                        ...

                        Wenn ich nun zur Datenbank verbinden möchte, erhalte ich unter Verwendung des Codes
                            odbc_connect("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=nwind.mdb", "", "");

                        Unter Windows ist es nur üblich und ausreichend, den Parameter DSN (Data Source Name) anzugeben. Darüber werden alle anderen Angaben gefunden. Username und Password müssen nicht unbedingt zentral abgelegt werden, was ja sicherheitstechnisch nicht immer sinnvoll ist. Die können dann auch verbindungsindividuell mitgesendet werden. Der DSN dürfte in deinem Fall der Abschnittsname der odbc.ini (der in eckigen Klammern) sein.

                        den Fehler
                            "Warning: odbc_connect(): SQL error: [unixODBC][Driver Manager]Driver's
                            SQLAllocHandle on SQL_HANDLE_HENV failed,
                            SQL state IM004 in SQLConnect in /home/[...]/test.php on line 8".

                        Für mich liest sich das, als ob der Treiber schon scheitert, bevor er an die DB "anklopft". Oder was ist hier falsch?

                        Probier es mal mit der alleinigen Angabe des DSN.

                        Zuerst hatte ich mich gefragt, wofür ich denn php5-odbc installieren sollte, wenn ich mdbtools nutzen möchte.

                        Das ist das Gegenstück in PHP, das nach unten ODBC spricht und nach oben PHPs odbc_*-Funktionen bereitstellt.

                        Aber anscheinend ist mit der Referenz auf libmdb.so.1 der mdbtools-Treiber tatsächlich in Gebrauch. Warum habe ich aber mit der Verwendung von libodbc.so.1 denselben Effekt? War mdbtools unnötig?

                        Wie schon gesagt, kann ich dich da nur auf man-pages und andere Dokumentation verweisen.

                        Lo!

                        1. Lieber dedlfix,

                          Dein automatischer Gruß spricht zwar mich an,

                          der automatische Gruß wird von mir jedes Mal manuell korrigiert. Ich hatte auf Deine letze Hilfe reagiert.

                          aber ich kann dir hier nicht mit Erfahrung dienen, sondern nur meinen allgemeinen Senf zum Besten geben.

                          Trotzdem hast Du mich durch das Erläutern Deiner Sichtweise weitergebracht. Schlussendlich hat mich das zum Ziel geführt! Vielen Dank dafür. ;-)

                          Meine Lösung bestand aus folgendem: Ich musste noch eine Softwarekomponente namens "libmdbodbc" installieren, die tatsächlich den MDBTools-Treiber darstellt. Mit "mdbtools" war ich auf dem falschen Dampfer! Diese Software-Komponente hat sich im Nachhinein als unnütz herausgestellt.

                          Um unter Ubuntu 11.10 eine Access-Datenbank (*.mdb-Datei) erfolgreich zu öffnen, benötigt es folgende Software-Komponenten:
                          1.) unixODBC
                          2.) libmdbodbc
                          3.) php5-odbc

                          Dann muss man in /etc/odbc.ini und /etc/odbcinst.ini folgende Einstellungen vornehmen:

                          --- odbcinst.ini ---
                          [MdbTools]
                          Description  = MdbTools
                          Driver       = /usr/lib/libmdbodbc.so.0
                          --- /odbcinst.ini ---

                          In /etc/odbcinst.ini stehen sozusagen die Installationsdaten, die "installierten" Treiber. In meinem Beispiel ist nur ein einziger Treiber unter dem Namen "MdbTools" definiert. Dieser Name wird nachher in der anderen ini-Datei benötigt.

                          --- odbc.ini ---
                          [Northwind]
                          Description = Northwind Example Database
                          Driver      = MdbTools
                          Database    = /home/me-the-user/path/nwind.mdb
                          Servername  = localhost
                          Username    = sa
                          Password    =
                          Port        = 5432
                          --- /odbc.ini ---

                          In odbc.ini stehen die Zugangsdaten zur beabsichtigten Access-Datenbank. Da der Apache mittels PHP darauf zugreifen soll, steht diese Datei nicht im Home-Verzeichnis eines Users, sondern für alle unter /etc/odbc.ini. Wichtig ist hier das, was als "Driver" referenziert ist. Der exakte Wortlaut muss in /etc/odbcinst.ini in eckigen Klammern (sozusagen als ein eigener Abschnitt) definiert worden sein.

                          Um in PHP nun eine Verbindung zur Datenbank herzustellen geht man z.B. so vor:

                          $connection = odbc_connect(  
                              "Northwind", // wie in /etc/odbc.ini in eckigen Klammern definiert  
                              "sa", // User  
                              "" // PW  
                          );
                          

                          Momentan habe ich keine DB mit Gruppenrichtlinien (eine *.mdw-Datei) da, sodass ich (noch) nichts dazu schreiben kann, wie man mit den dort abgelegten Zugangsdaten die Access-DB aufbekommt.

                          Liebe Grüße,

                          Felix Riesterer.

                          --
                          ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
                          1. Momentan habe ich keine DB mit Gruppenrichtlinien (eine *.mdw-Datei) da

                            Aber jetzt habe ich eine und auch getestet, wie es damit funktioniert:

                            --- odbc.ini ---
                            [MeinProjekt]
                            Description = Meine Projekt-DB mit mehreren DB-Benutzern
                            Driver      = MdbTools
                            Database    = /home/me-the-user/path/mein-projekt.mdb
                            SystemDB    = /home/me-the-user/path/meine-gruppendatei.mdw
                            Servername  = localhost
                            Username    = db-benutzer
                            Password    = db-passwort
                            --- /odbc.ini ---

                            In PHP erhält man nun so die Namen aller in der DB befindlichen Stammtabellen (ohne Views, Reporte und Schnickschnack):

                            if ($connection = odbc_connect(  
                                "MeinProjekt", // DB in /etc/odbc.ini definiert  
                                "db-benutzer", // User  
                                "db-passwort" // PW  
                            )) {  
                                if ($res = odbc_exec(  
                                    $connection,  
                                    "SELECT Name FROM MSysObjects WHERE type=1 AND flags=0"  
                                )) {  
                                    echo "<p>Die Datenbank hat folgende Tabellen:</p>\r\n<ul>\r\n";  
                              
                                    while ($test = odbc_fetch_array($res)) {  
                                        echo sprintf(  
                                            "\t<li>%s</li>\r\n",  
                                            htmlspecialchars(utf8_decode(  
                                                $test['Name'] // k.A. warum hier utf8_decode nötig ist  
                                            ))  
                                        );  
                                    }  
                              
                                    echo "</ul>\r\n";  
                                }  
                              
                                odbc_close($connection);  
                                echo "<p>Test erfolgreich!</p>";  
                              
                            } else {  
                                echo "<p>Test nicht erfolgreich!</p>";  
                            }
                            

                            Mögen meine Funde jemandem nützen, der auch so wie ich einen ganzen Tag lang nach einer Linux-only Lösung für Access-Datenbanken gesucht hat.

                            Es sei der Vollständigkeit halber erwähnt, dass auf diese Art und Weise in die Access-Datei _nicht_ geschrieben werden kann! Die Verbindung über MDB-Tools ist read-only.

                            Liebe Grüße,

                            Felix Riesterer.

                            --
                            ie:% br:> fl:| va:) ls:[ fo:) rl:| n4:? de:> ss:| ch:? js:) mo:} zu:)
      3. Moin Moin!

        Die Jet-Engine von Access hat damit nichts zu tun.

        Aaaah, das verstehe ich.

        Ich suche noch immer eine Möglichkeit, unter Apache/PHP/Linux eine *.mdb-Datei als Datenbank mit SQL-Anweisungen auszulesen, um sie in eine MySQL-DB zu übertragen. Offensichtlich benötige ich dazu einen ODBC-Treiber...

        Und genau den, aber für den SQL Server und eben nicht für Access (= *.mdb) hat MS jetzt angekündigt.

        Alexander

        --
        Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so".