Ole: ODBC to ODBC bridge

hi

plane grade ein neues projekt und benötige dafür zugriff auf entfernte, also außerhalb unseres intranets, datenbanken.

mit mySql zum Beispiel wäre das ja kein Problem, allerdings handelt es sich bei diesen Datenbanken um Access die via ODBC auf dem entsprechenden Server eingebunden sind.

die einzige lösung auf diese entfernten datendanken zuzugreifen wäre eine "odbc to odbc bridge" (für windows 2k).

gibt es neben den hochpreisigen produkten auch alternativen?

nicht das ihr denkt ich hätte nicht auch schon was anderes probiert:

ich habe auch schon probiert die anwendung zu welcher die access-datenbanken gehören (E-Shop) "auszutricksen".

mein erster plumper versuch war, einfach die access datenbank in eine mySQL-Datenbank zu exportieren und den odbc-eintrag umzustellen...leider kein erfolg hiermit.

zweiter anlauf war dann, die mySQL-Datenbank via "tabellen verlinken" in einer Access-Datenbank "abzubilden"...allerdings durchschaute der Shop auch hier mien vorhaben und war nicht zur mitarbeit zu bewegen.

nach dem ich nun einige tage an dem problem schon rumdoktore bin ich zu der einsicht gekommen, das eine umstellung auf mySQL nicht möglich ist.

von da an kam mir dann die idee mit der odbc bridge.

hat jemand noch hilfreiche tipps, tricks, lösungen u.ä. für mich?

thx
Ole
(8-)>

  1. mit mySql zum Beispiel wäre das ja kein Problem, allerdings handelt es sich bei diesen Datenbanken um Access die via ODBC auf dem entsprechenden Server eingebunden sind.

    access ist eine file-basierende datenbank. d.h. die db-engine läuft auf dem client.
    nimm mysql, wenns denn kein problem damit gibt.
    komme hierauf weiter unten zurück

    die einzige lösung auf diese entfernten datendanken zuzugreifen wäre eine "odbc to odbc bridge" (für windows 2k).

    diese aussage ist falsch!
    es gibt einen 'odbc-server' für access. damit kann man dann die entfernte access via ip-port erreichen.

    gibt es neben den hochpreisigen produkten auch alternativen?

    eben diesen 'odbc-server'. der ist gratis.

    nicht das ihr denkt ich hätte nicht auch schon was anderes probiert:

    ich habe auch schon probiert die anwendung zu welcher die access-datenbanken gehören (E-Shop) "auszutricksen".

    mein erster plumper versuch war, einfach die access datenbank in eine mySQL-Datenbank zu exportieren und den odbc-eintrag umzustellen...leider kein erfolg hiermit.

    was ist das problem? das muß gehen!

    zweiter anlauf war dann, die mySQL-Datenbank via "tabellen verlinken" in einer Access-Datenbank "abzubilden"...allerdings durchschaute der Shop auch hier mien vorhaben und war nicht zur mitarbeit zu bewegen.

    dann gibts wieder das file-based problem von access.

    nach dem ich nun einige tage an dem problem schon rumdoktore bin ich zu der einsicht gekommen, das eine umstellung auf mySQL nicht möglich ist.

    falsch. die einzige einschränkung besteht in den sql möglichkeiten, welche in mysql evtl. nicht unterstützt werden. (ansi-level)

    von da an kam mir dann die idee mit der odbc bridge.

    hat jemand noch hilfreiche tipps, tricks, lösungen u.ä. für mich?

    also keine odbc-bridge! was soll der blödsinn auch.

    das einzig wahre ist der odbc-server, wenns dann unbedingt access sein soll.

    1. was ist das problem? das muß gehen!

      das problem ist das der shop nicht mit mySQL kooperieren will frag mich nciht warum, es ist einfach so. es geht nicht.

      falsch. die einzige einschränkung besteht in den sql möglichkeiten, welche in mysql evtl. nicht unterstützt werden. (ansi-level)

      nene, das ist schon richtig, der Shop kann nicht mit mySQL betrieben werden, eine umstellung ist nicht möglich. eine umstellung auf MSSQL allerdings schon, die aktuelle version untersützt MSSQL sogar offiziell. ich vermute mal das hier irgendwelche microsoft eigenen dinge ein rolle spielen die sich mir nicht erschließen.

      das einzig wahre ist der odbc-server, wenns dann unbedingt access sein soll.

      von sollen kann nicht die rede sein...es muß.

      es gibt einen 'odbc-server' für access. damit kann man dann die entfernte access via ip-port erreichen.

      das klingt interessant

      eben diesen 'odbc-server'. der ist gratis.

      das klingt doch alles recht vielversprechend...wo bekomme ich dieses nette dingen denn? google wirft irgendwie nichts überzeugendes aus :(

      thx
      ole
      (8-)>

      1. das problem ist das der shop nicht mit mySQL kooperieren will frag mich nciht warum, es ist einfach so. es geht nicht.

        was geht denn nicht?  mein auto fährt auch nicht! sag mir warum!!!

        nene, das ist schon richtig, der Shop kann nicht mit mySQL betrieben werden, eine umstellung ist nicht möglich. eine umstellung auf MSSQL allerdings schon, die aktuelle version untersützt MSSQL sogar offiziell. ich vermute mal das hier irgendwelche microsoft eigenen dinge ein rolle spielen die sich mir nicht erschließen.

        wenn dein shop 'ms-hardcodiert' hat (ist er von ms?)

        es gibt einen 'odbc-server' für access. damit kann man dann die entfernte access via ip-port erreichen.

        das klingt interessant

        eben diesen 'odbc-server'. der ist gratis.

        das klingt doch alles recht vielversprechend...wo bekomme ich dieses nette dingen denn? google wirft irgendwie nichts überzeugendes aus :(

        google mal nach odbc socketserver

        auszug aus install-doku:

        ODBC SOCKET SERVER

        Quick install instructions.  For full instructions please see the PDF manual.

        Before you install ODBC Socket Server, be sure you have the following software:
        -Windows NT Version 4 or higher

        • ADO libraries installed (included with higher service packs or the latest
          version can bedownloaded from http://www.microsoft.com/data/)

        ODBC Socket server is a simple Windows NT Service.  To install it, perform the
        following steps:
        1. Unzip the ODBC Socket Server application into a directory on your server.
        2. Run the following command via the run option on the Windows NT start
        menu (or from a DOS box, whichever you prefer) <path to
        ODBCSocketServer.exe>\ODBCSocketServer.exe /Service  For example, if you
        installed ODBC Socket server to c:\ODBC, you would run the command
        c:\ODBC\ODBCSocketServer.exe /Service  Running this command registers ODBC
        Socket Server with Windows NT as a service
         If you get an error mentioning either a missing or ordinal problem with the
        ATL.dll file then copy your existing atl.dll from your winnt\system32
        directory to a back-up location. Now copy the atl.dll version included in
        the ODBC Socket Server distribution (in the base directory) into your
        winnt\system32 directory. Last, register this dll via the command
        "regsvr32 c:\winnt\sytem32\atl.dll" (assuming that is where your  atl.dll
        is located). You should now be able to register ODBCSocketServer.exe
        via the "ODBCSocketServer.exe /Service" command with no problems.
        3. To enter information about ODBC Socket Server into the database for
        configuration,open the Windows NT Explorer and navigate to the directory where
        you unzipped ODBC Socket Server.  In this path there is a file called
        Registry.reg .  Double-click on this file from NT explorer to enter the
        default configuration
        4. Using the control panel, open up the services dialog and start the
        ODBC Socket Server Service.If you would like ODBC Socket Server to
        automatically start each time Windows NT starts, press the Startup button and
        select the Automatic option.
        5.  It is highly recommended that after install and testing, you adjust
        the registry settings as described in the PDF Manual.

        That s all!  Now, to test ODBC Socket Server, you must first  create an ODBC
        System Data Source on your Windows NT Machine or use an existing OLEDB Provider.
        To create an ODBC System Data Source, follow these steps:

        1. On the Start menu, point to Settings, and then click Control Panel.
        2. Double-click ODBC.
        3. Click System DSN and then click Add.
        4. Click the type of data source you would like to add; then click Finish.
        5. Complete the steps in the Create a New Data Source to SQL Server Wizard.

        Once an ODBC data source has been created, you can now test a  query.  To
        test the query, we will use the sample client application the came with ODBC
        Socket Server. To use the test client application, perform the following steps:

        1. Register the ODBC Socket Server Client COM DLL.  To  do this, run the
        followingcommand via the run option on the Windows NT start menu (or from a
        DOS box, whichever you prefer) regsvr32.exe <path to
        ODBCSocketServer.exe>\clients\COM\ODBCClient.dll
        For example, if you installed ODBC Socket server to c:\ODBC, you would run
        the command regsvr32.exe c:\ODBC\clients\COM\ODBCClient.dll  In case your
        path is not setup correctly, regsvr32.exe lies in your Windows system32
        directory.
        2. Start the COM sample application, SockTest.exe (in the
        same directory asODBCClient.dll).
        3. Enter the IP address, a valid ODBC connection string, and some SQL to
        execute.  Inthe available text boxes.  Examples of valid ODBC connection
        strings include  DSN=Pubs;UID=smith;PWD=muffins;  provided you have created an
        ODBC data source named Pubs on the ODBC Socket Server machine.  Examples of
        valid SQL include  SELECT * FROM authors
        4. Click on the ExecSQL button to execute this SQL.
        5. The results of your query should now appear in the results pane.  If
        you don t see anyresults or the application times out, check the NT event log
        on both the ODBC Socket Server machine and the machine you are running this
        test application on. Be sure to check the Application event log!
        The error messages in this log should help you diagnose your problem.  If you
        are still having trouble, e-mail the authors at fxml@excite.com with details of
        your problems. settings into your registry.  A precise description of these
        settings is provided later on in this documentation.

        1. hi

          was geht denn nicht?  mein auto fährt auch nicht! sag mir warum!!!

          ich versuch das mal zu erklären...ist ein bisserl kompilizierter :)...erst recht bei diesen temperaturen *puh*

          das besagte produkt ist der "Online Store Builder" der Firma "Bizcrafter Corp." (http://bizcraftercorp.com/). Es handelt sich hier um eine ASP Lösung in ColdFusion.

          der Shop besteht aus 3 Ebenen

          • Superadmin
          • Storeadmin
          • Frontend

          Nun ist es in der Superadmin so, das ich in der von uns verwendeten Version nur Access-Datenbank eingebunden werden können bzw. beim anlegen eines neues Shops angelegt werden (inkl. sämtlicher Registry einträge). Es gibt zwar einen Workaround* für MSSQL, allerdings funktioniert dieser _nicht_ mit mySQL...aus welchem Grund auch immer.

          *

          Die folgenden Instruktionen beziehen sich auf das erstellen und konfigurieren eines neuen oder bereits bestehenden Händler Stores auf einem Microsoft SQL Server 7.0. Bitte folgen Sie den Instruktionen und halten Sie die Reihenfolge ein, die wir Ihnen untenstehend vorschlagen. So werden Sie Ihre Installation erfolgreich vervollständigen.

          1. Benutzen Sie die Händler Administration um einen neuen Store zu erstellen. Wenn bereits ein Store existiert überspringen Sie diesen Schritt.

          2. Benutzen Sie die Händler Administration um den Store zu öffnen und identifizieren sie den Pfad zur MS Access Datenbank, wenn Sie Windows benutzen. Wenn Sie UNIX benutzen laden Sie sich die MS Access Datenbank herunter: StoreDb2.mdb

          3. Erstellen Sie eine neue leere Datenbank in Microsoft SQL. mit einem beliebigen Namen.

          4. Auf dem SQL server lassen Sie Microsoft Query Analyzer laufen und  und führen das SQL Skript osb21.sql für die Datenbank die in Schritt 3 erstellt wurde aus..
                Wenn dies erfolgreich ausgeführt wurde werden alle Tabellen, Indizes und Verknüpfungen erstellt werden.

          5. Benutzen Sie den Microsoft Enterprise Manager auf dem SQL Server um Inhalte aus der MS Access Datenbank (enthalten in Schritt 2) auf die SQL Datenbank (erstellt in Schritt 3) zu importieren. Wählen Sie alle Dateien aus, wenn Sie die Daten importieren. Benutzen Sie nicht das Upsizing Utility in Microsoft Access um die Daten zum Microsoft SQL Server zu exportieren.
                Nach dem erfolgreichen importieren sollten sich alle Daten auf dem Microsoft SQL Server bedinden.

          6. Öffnen und loggen Sie sich im ColdFusion Administrator auf dem Server auf dem OSB 2.1 installiert ist ein.

          7. Im Navigator auf der linken Seiten klicken Sie auf den Link ODBC.

          8. Finden Sie die Datenquelle, die mit der Domain des Stores, der in Schritt 2 erstellt wurde, übereinstimmt. Die Datenquelle muss #Domain#_SB2 heißen, wobei #Domain# der Domainname des Stores ist.

          9. Datenquellen löschen.

          10. Erstellen Sie eine neue Datenquelle mit dem Namen #Domain#_SB2 und stellen Sie sicher, dass auf die SQL Datenbank verweist, die in Schritt 3 erstellt wurde.

          11. Starten Sie den ColdFusion Service erneut und stellen Sie eine Verbindung zur SQL Datenbank her.

          12. Nutzen Sie die Händler Administration um den Store zu öffnen und stellen Sie sicher,dass der Speicherort der Datenbank dem Namen der Datenbank entspricht, die in Schritt 3 erstellt wurde.
                Waren Sie erfolgreich ist der Store nun aktiv und voll funktionsfähig auf einem Microsoft SQL Server.

          wenn dein shop 'ms-hardcodiert' hat (ist er von ms?)

          nein, s.o.

          google mal nach odbc socketserver

          gefunden: http://odbcsock.sourceforge.net/

          hab das teil grade ans laufen bekommen und mir auch gleich die entsprechenden coldfusion "funktionen" geschrieben...funktioniert einwandfrei. :)

          wenn ich damit fertig bin schreib ich nen feature-artikel drüber :D

          thx
          ole
          (8-)>