Announcement

Collapse
No announcement yet.

BDE 5.1 SQL-Server 70

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

  • BDE 5.1 SQL-Server 70

    Wie errecihe ich eine korrekte Zusammenarbeit von C++Builder 3
    und SQL-Server 7 ? Bei unseren tests treten massive Probleme auf.
    (BDE 5.1 SQL-Server 7.000.0623).

    Die BDE hat offensichtlich massive Probleme mit den Sys-Tables von MS-SQL-Server.
    z.B. feldtypen werden nicht aufgelöst (d.h. man sieht im Table-Text Felder ohne Dtatentyp (int,char oö) und solchen mit datentypen NULL!)

    Dieser Effekt tritt in verschiedenen Variationen sowohl bei Verwendung von Native-SQL-Links-Treiber als auch mit dem ODBC-Treiber (jene von SQL-Server 7.0) auf !

    Welche Version benötige ich von C++Builder SQL-Server7 und BDE um eine korrekte zusammenarbeit zu erreichen ?

  • #2
    Hallo,

    bin ich denn der Einzige, der das <b>Kleingedruckte</b> der BDE und vom SQL Server 7 durchliest ;-)<br>
    Mit dem Versionswechsel von 6.5 auf 7 ist vom <i>Microsoft SQL Server</i> fast nur noch der Name übriggeblieben - die zugrundeliegende Architektur wurde massiv geändert (MS hat dazu in den vergangenen Jahren über die Scheckbuch-Methode massiv namhafte Entwickler abgeworben). Sowohl Borland als auch Microsoft weisen darauf hin, das die Version 7 <b>nur</b> über die <b>OLE DB</b>-Treiber vollständig erreichbar ist (das ist auch der Grund, warum Delphi 5 Enterprise die <b>ADO</b>-Komponenten anbietet).

    In der BDEREADME.TXT liest sich das dann so:

    <i>5.2 Der neue MS-SQL Server 7-Treiber <br>
    -------------------------------------<br>
    Der SQL Links-Treiber für Microsoft SQL Server unterstützt
    jetzt neben der Version 6.5 auf die Version 7. (SQL Links
    steht nicht in allen Editionen der Inprise-Programmiertools
    zur Verfügung.)

    SQL Links verwendet DBLIB, die native API für
    MS-SQL Server. DBLIB implementiert nur den
    Funktionsumfang von MS-SQL Server 6.5. Das bedeutet,
    daß neue Typen von MS-SQL Server 7, wie GUID,
    Unicode und CHAR-Spalten, die mehr als 255 Zeichen
    umfassen, nicht unterstützt werden. Microsoft wird DBLIB
    nicht um eine Unterstützung dieser neuen Typen erweitern, so
    daß der SQL Links-Treiber diese neuen MS-SQL Server 7-Typen
    nicht verarbeiten kann.

    Microsoft und Inprise raten dringend, Client-Software einzusetzen,
    die für den verwendeten MS-SQL Server geeignet ist. Folglich
    können Sie 6.x-Client-Software nur mit 6.x-Server-Software und
    Client-Software der Version 7 nur mit Server-Software
    der Version 7 verwenden. </i>

    Microsoft passt also auch den <b>ODBC</b>-Treiber nicht mehr an!
    &#10

    Comment


    • #3
      Hallo auch,
      das Kleingedruckte von BDE und SQLSever 7.0 liegt mir nebenbei jetzt schon 3 Tage schwer im Bauch...
      Warum aktualisiert Borland/Inprise dann überhaupt seinen BDE-Treiber auf den neuen SQLServer, wenn ich diesen Treiber dann doch nicht verwenden kann, auch nicht für Datenbanken im 6.5-er Modus innerhalb des 7er SQL-Servers, da doch jegliche via BDE ausgelesene DB-Strukturinfo über jene falsch laufenden systables-Zugriffe erfolgt ? Oder soll ich einfach die vielen Fehler, die mir zB der SQL-Explorer beim Betrachten der DB erzeugt, ignorieren und darauf hoffen, das mein durchgereichtes SQL ja auf dem Server richtig abgearbeitet wird und mir die DBE-Automatismen hier keinen Strich durch die Rechnung machen ??
      Leider habe ich nun eine bestehende Anwendung (momentan unter Informix via BDE+Native-Treiber...), welche keine der neuen nicht unterstützten Datentypen verwendet, aber leider voll auf die BDE als Zwischenschicht angewiesen ist; so wie ich das im Moment sehe, bleibt mir also dann doch nur SQLServer 6.5 übrig ?
      Das mit dem nicht mehr aktualisierten ODBC-Treiber verstehe ich so nicht ganz - laut Microsoft-Doku arbeitet zB der QueryAnalyzer voll über genau diesen Treiber ... ?
      Und überhaupt - immer wieder gibt es Aussagen von Leuten, welche offensichtlich den 7-er Server unter Delphi/C++Builder verwenden - wie machen die das

      Comment


      • #4
        Hallo,

        der Erfolg (oder Misserfolg) hängt von der Datenbankstruktur und der restlichen Konfiguration ab. Jede Tabelle muß zum Beispiel einen Primärschlüssel (auch wenn das vom SQL Server nicht erzwungen wird) haben und darf keine Unicode-Typen verwenden , um nur zwei Beispiele zu nennen. Der <b>SQL Explorer</b> kann keine <b>GUID</b>-Spalte anzeigen, da dieser Feldtyp nicht von den <b>DB Lib</b>-Treibern der Version 6.5 unterstützt wird (aber die BDE greift über die SQL-Links-Treiber nur auf den DB Lib-Treiber von MS zu).

        Zur Frage <i>Und überhaupt - immer wieder gibt es Aussagen von Leuten, welche offensichtlich den 7-er Server unter Delphi/C++Builder verwenden - wie machen die das?</i> habe ich an diese Leute auch eine Frage: "Klappt das auch mit der Northwind-Demodatenbank (Tabelle Customers)?"

        Eine provokative Frage: <b>Warum</b> wurde der Wechsel auf die 7.0 gemacht, obwohl die Probleme sowohl von Borland als auch von Microsoft deutlich genannt werden

        Comment

        Working...
        X