Announcement

Collapse
No announcement yet.

MDAC: Installation von DB-Anwendung (Access) auf "nacktem" Rechner gelöst?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MDAC: Installation von DB-Anwendung (Access) auf "nacktem" Rechner gelöst?

    Die Installation von einer DB-Anwendung, die komplett mit Delphi erstellt wurde und auf eine Access-DB zugreift, bereitet mir seit jeher Kopfzerbrechen, dank der unklaren Lizenzpolitik von Microsoft. Falls in althergebrachter Weise über die Jet-Engine/DAO zugegriffen werden sollte entweder über die BDE, Drittkomponenten (ich benutze seit 2 Jahren gmDAO von Gerrit Möller) oder eingebundene TypeLibraries, muss auf dem Zielrechner die DAO vorhanden sein. Dieses ist der Fall, wenn der Kunde MS-Office Pro hat, möglicherweise reicht Excel oder Word auch schon aus.
    Anderenfalls muss man selbst für die Installation sorgen. Falls man ein MS-Devoloper Tool hat, wie z.B. Office Developer Edition oder Visual Basic Pro, darf man die Jet-Engine vertreiben. Allerdings gibt es hierzu verschiedene Aussagen:
    1. man kann die Engine einfach so vertreiben
    2. man muss eine kleine "Alibi-Anwendung" mit einem MS-Tool
    zusammenklicken, z.B. einen Tabellenviewer
    oder
    3. 1. und 2. sind nicht zulässig und es muss die Hauptfunktionalität der Anwendung mit einem MS-Tool erstellt werden.
    Frage 1: Was ist hier nun richtig?
    Auf einem "nackten" Rechner (sprich: ohne Office) kann es also etwas problematisch werden.
    Wenn ich es richtig verstanden habe, kann MDAC a) nicht nur von jedem frei downgeloaded werden, sondern auch b)von Entwicklern, die keine MS-Tools zum Entwickeln verwenden kostenfrei weitergegeben werden.
    Frage 2: Ist b) korrekt?
    Da in MDAC ADO enthalten ist, sowie auch der Jet-OLE DB Provider, müsste ich doch dann nach der MDAC-Installation auf einem solchen Rechner über ADO auf eine von mir mitgelieferte Access 97 oder 2000 Datenbank zugreifen können.
    Frage 3: Ist das so richtig?
    Wie sieht es aus, wenn man keine MDB sondern eine MSDE Datenbank erstellt hat.
    Frage 4: Reicht in diesem Fall der MS-SQL OLE DB Provider, der ja wohl auch in MDAC enthalten ist aus?
    Frage 5: Falls 4. nicht zutrifft, muss ich die MSDE-Engine weitergeben, und falls ja, kann ich die einfach so weitergeben, wenn ich die Office 2000 Developer Edition habe, oder lande ich jetzt wieder bei Frage 1, nur mit MSDE- statt Jet-Engine?

  • #2
    Hallo,

    man muss (aus meiner Sicht) zwischen dem "alten" DAO und dem "neuen" MDAC unterscheiden. Die alte JET-Engine unterliegt anderen Lizenzbestimmungen als MDAC. Für MDAC (und somit für ADO) sind meines Wissens nach die folgenden Einschränkungen wirksam:

    1. Windows 2000: Niemand darf MDAC installieren, da MDCA bereits enthalten ist und nur durch einen Windows 2000-Versionswechsel aktualisiert werden darf.

    2. Windows 9x/NT: MDAC wird vom IE 5 installiert. Wenn der IE 5 nicht installiert werden soll, darf MDAC in eigenen Regie installiert werden. Auf der Delphi-CDROM ist das dafür zuständige Setup-Programm für MDAC 2.1 enthalten.

    3. Wenn MDAC auf dem Rechner ist, darf man legal auf alles das zugreifen, was von den Treibern (OLE DB bzw. ODBC) unterstützt wird. Somit ist auch der Zugriff auf eine ACCESS97-Datenbank bzw. auf eine MSDE-Datenbank legal. Davon unbenommen bleiben Einschränkungen des entsprechenden Datenbank-Herstellers (falls Client-Lizenzen abgerechnet werden).

    4. Die MSDE gehört <b>nicht</b> zu MDAC, sondern muss (falls nicht bereits schon vorhanden) entsprechend den Lizenzbestimmungen zur MSDE bei Bedarf selbst weitergegeben werden. In MDAC ist nur der OLE DB-Treiber für den Microsoft SQL Server 7, der auch für die MSDE passt.

    5. Wenn man die MSDE weitergeben möchte und im Besitz der <i>MS Office 2000 Developer Edition</i> ist, gibt es aus meiner Sicht zwei gravierende Einschränkungen:<br>
    a) Man darf keine Anwendung schreiben, die Office-Anwendungen Konkurrenz macht <br>
    b) Man muss mindestens <b>eine</b> Alibi-Anwendung bzw. ein Bestandteil (DLL, COM-Objekt, Tool usw.) mit einem MS-Entwicklungswerkzeug schreiben.

    P.S. Die Frage wird auch in vielen Newsgroup häufig aufgeworfen. Dort wurde auch ein Beispiel genannt, das von MS "abgesegnet" wurde: Die Delphi-Anwendung hat auf einen VXD-Treiber zurückgegriffen, der mit dem <i>MS Visual Studio</i> entwickelt wurde. Dieser kleine Treiber reichte aus, um die MSDE legal weitergeben zu dürfen

    Comment


    • #3
      Zunächst mal vielen Dank für die prompte Bedienung. Habe übrigens einige Titel von Ihnen in Benutzung, die mich das ein oder andere Mal inspiriert bzw. mir geholfen haben.

      Zu 3) ...Einschränkungen des entsprechenden Datenbank-Herstellers (falls Client-Lizenzen abgerechnet werden). Bei Access ist dies nicht der Fall, bei MSDE auch nicht, nur dass dort die Perfomance bei mehr als 5 Usern (oder ist hier gleichzeitiger Zugriff gemeint) abnimmt. Stimmt das so?

      Falls ich feststelle, dass die Installation von MDAC notwendig ist, kann ich dann einfach die mdac_typ25.exe auf den Zielrechner kopieren und dort ausführen, oder ist eine direkte Weitergabe dieser Datei mit meinem Programm seitens MS nicht zulässig?

      Ihrer Antwort entnehme ich folgendes:

      Liefere ich meine Anwendung mit

      a) einer Access-DB so muss auf dem Rechner ausser Windows 32-Bit nur MDAC installiert sein

      b) einer MSDE-DB so muss auf diesem Rechner zusätzlich die MSDE installiert sein

      Habe ich das jetzt endlich gefressen?

      P.S.

      Gibt es von MS denn kein Dokument, was die gesamten Lizenzbestimmungen für diese Problematik einmal eindeutig und verständlich erläutert, mit den sich daraus ergebenden Konsequenzen.
      Für Programmierer, die MS-Entwicklungstools nutzen, ist dies natürlich nicht so wichtig, aber es gibt ja noch andere gute Sprachen.

      Wenn anderen Entwicklern hierdurch ein bisschen Geld für die Nutzung dieser Technologien abgenommen werden soll, so kann ich dass verstehen. Aber würde es nicht reichen, zu sagen: Wenn Ihr nicht mit MS-Tools entwickelt, dann stellt euch wenigstens eins in Regal und Ihr dürft helfen unsere Technologien zu verbreiten.

      Gerade im Bereich MSDE profitert MS doch: Wenn ich Anwendungen programmiere, die darauf aufsetzen, acquiriere ich doch potentielle MS-SQL Server Kunden..

      Comment


      • #4
        Hallo,

        zur Frage 3) <br>
        Ja - die MSDE regelt ab 5 gleichzeitigen Benutzerzugriffen runter. Allerdings gibt es Einschränkungen im Zusammenhang mit dem SQL Server 7, der Standalone-Betrieb der MSDE ist jedoch davon nicht betroffen.

        Eine Weitergabe von Mdac_typ.exe sollte legal sein. Man kann sich allerdings die Sache auch einfach machen und als Systemvoraussetzung den IE 5 vorschreiben.

        Die nächste Frage ("... habe ich das endlich gefressen..") kann auch mit JA beantwortet werden.

        In den MS-Lizenzbestimmungen liest sich das auszugesweise so:

        <i> 3. Microsoft Data Engine ("MSDE") Technology. Microsoft grants you a nonexclusive, royalty-free right to reproduce and distribute the object code form of MSDE, provided that you comply with Section 4 of this Supplemental EULA.

        4. Redistribution Requirements.<br>
        a. General Requirements. If you choose to redistribute the SQL Redistributable Code and/or MSDE, you agree:<br>
        i. to distribute MSDE in object code form and only in conjunction with and as a part of a software application product developed by you that adds significant and primary functionality to the SOFTWARE PRODUCT ("Licensed Product");<br>
        ii. not to use Microsoft's name, logo, or trademarks to market the Licensed Product;<br>
        iii. to include a valid copyright notice on the Licensed Product; <br>
        iv. to indemnify, hold harmless, and defend Microsoft from and against any claims or lawsuits, including attorney's fees, that arise or result from the use or distribution of the Licensed Product;
        v. to otherwise comply with the terms of this Supplemental EULA;
        and
        vi. that Microsoft reserves all rights not expressly granted.
        You also agree not to permit further distribution of the MSDE by your end users except: (1) you may permit further redistribution of the MSDE by your distributors to your end-user customers if your distributors only distribute the MSDE in conjunction with, and as part of, the Licensed Product and you and your distributors comply with all other terms of this Supplemental EULA<br>
        b. Additional Requirements for MSDE. If you choose to redistribute MSDE, you also agree:<br>
        i. that your Licensed Product shall not substantially duplicate the capabilities of Microsoft Access or, in the reasonable opinion of Microsoft, compete with same; and<br>
        ii. that unless your Licensed Product requires your customers to license Microsoft Access in order to operate, you shall not reproduce or use MSDE for commercial distribution in conjunction with a general purpose word processing, spreadsheet or database management software product, or an integrated work or product suite whose components include a general purpose word processing, spreadsheet, or database management software product except for the exclusive use of importing data to the various formats supported by Microsoft Access. Note: A product that includes limited word processing, spreadsheet or database components along with other components which provide significant and primary value, such as an accounting product with limited spreadsheet capability, is not considered to be a "general purpose" product.</i&gt

        Comment


        • #5
          Hallo Herr Kosch,

          1. worauf beziehen sich diese MS-Lizenzbestimmungen : Visual Studio, Office Developer, oder beide?

          2. 4ai. Was ist das SOFTWARE PRODUCT ("Licensed Product") zu dem ich mit meiner Applikation significant and primary functionality hinzufüge?

          3. 4bii. Heisst das: Wenn meine Applikation beim Kunden nicht läuft, ohne dass er Access hat, darf ich eine beim Kunden vorhandene MSDE weder benutzen, noch sie vertreiben um ein Konkurrenzprodukt zu Word, Excel oder Access schreiben, ausser einem Importprogramm, welches seine Daten bei Access abliefert?

          4. In dem Textauszug steht allerdings nichts von der Notwendigkeit, mit einem MS-Tool zu programmieren. Reicht also ein entsprechendes Tool im Schrank doch schon aus?

          5. In der Entwickler-Ausgabe 2/2000 habe ich einen Hinweis auf Ihren Artikel "MS-freizügig" gesehen, der mich interessieren würde. Leider ist dieser nicht online verfügbar und die letzte Ausgabe lääst sich wohl nicht bis zum Wochenende beschaffen. Könnten Sie ihn mir freundlicherweise mailen?
          Falls ja: bitte an [email protected]

          Unabhängig von letzterem vielen Dank für Ihre prompte Reaktion. So einen Customer Support sollte man mal bei BorPrisEl (oder wie auch immer die demnächst heissen werden) einführen.

          Thomas Schlech

          Comment


          • #6
            Hallo,

            zu Frage 1: <br>
            Der Auszug stammt aus dem Visual Studio-Paket.

            zu Frage 2: <br>
            Die Sektion 4 bezieht sich auf die MSDE ("<i>...of MSDE, provided that you comply with Section 4 ...</i>").

            zu Frage 3: <br>
            Diese MS-Klausel besagt nur, das die MSDE nicht verwendet werden darf, um ein mit der Funktion von MS ACCESS vergleichbares universelles Datenbankprogramm zu schreiben. Eine spezielle Anwendung fällt nicht unter diese Klausel (siehe letzter Satz).

            zu Frage 4: <br>
            Diese Frage habe ich fast erwartet ;-) <br>
            Da diese LICENSE.TXT aus dem Visual Studio-Paket stammt, wird dies automatisch unterstellt. In der Version, die zusammen mit dem MSDE-Setup ausgeliefert wird, und die somit nicht einem konkreten Entwicklungswerkzeug zugeordnet werden kann, ist die Forderung nach dem MS-Tool enthalten.

            zu Frage 5: <br>
            Die Beispielprojekte aus diesem Artikel stehen zum Download zur Verfügung. Ich werde also nur noch den Text drumrum als ZIP verpacken und abschicken (ausnahmsweise)

            Comment


            • #7
              Hallo, <p>

              eine Frage zu Frage 4:<br>
              wie sieht es bei der MS Office Developer - Variante aus ?<br>
              Der Trick ist also eine DLL oder ein OCX zu bauen um diese in ein Delphi-Programm zu integrieren, damit man <br>
              berechtigt ist die MSDE mit auszuliefern. <br>
              Mit dem Office-Paket (VBA und Access) geht das wohl kaum. Dann muesste ich mir extra Visual Studio zulegen ... <br>
              Gibt es noch eine andere Moeglichkeit ? <br>

              Gruss und Dank <br>
              Dietma

              Comment


              • #8
                Hallo,

                der mit einem MS-Tool entwickelte Bestandteil muss <b>nicht</b> zur eigenen Anwendung gehören. Es reicht aus, wenn es eine zusätzliche bzw. völlig unabhängige Funktion ist (z. Bsp: Telefonbuch; Datensicherungs- oder Export-Tool). Wird eine ACCESS-Anwendung für ein Telefonbuch o.ä. als Kombination der ACCESS-Runtime und der MSDE weitergeben, sind alle Voraussetzungen erfüllt, um mit der Delphi-Anwendung auf diesem Rechner legal auf die MSDE zuzugreifen.

                P.S: Jedenfalls interpretiere ich so die MS-Lizenzbestimmungstexte - allerdings übernehme ich keine Gewähr.
                &#10

                Comment

                Working...
                X