Announcement

Collapse
No announcement yet.

Probleme mit Access und Datentyp Memo

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

  • Probleme mit Access und Datentyp Memo

    Guten Tag,

    ich möchte mit einem Sql-Statement einen String in ein Feld vom Typ Memo einer MS Access Datenbank einfügen. Es wird dabei kein Fehler angezeigt, doch beim überprüfen was nun gespeichert wurde mußte ich feststellen, daß immer nur ein String von max. 150 Zeichen gespeichert wurde und der Rest einfach abgeschnitten wurde. Wer hat ein Tip, <b>dringend</b>!

  • #2
    Hallo,

    das Problem kann ich reproduzieren, wenn auf eine ACCESS97-Datenbank mit dem MSACCESS-Treiber (IDDA3532.DLL) der BDE zugegriffen wird. Wird das Projekt mit Debug-DCUs compiliert, kann man sich schrittweise bis zur Exceptionstelle vorarbeiten und <b>DbiQExec</b> als auslösende Stelle ermitteln. Somit liegt das Problem nicht auf der Seite der VCL. Das Einfügen von umfangreichen Memotexten über TTable ist problemlos möglich - also scheint der "SQL-Überbau" für die ISAM-Datenbank MS ACCESS der Auslöser zu sein.

    Auf der Web-Seite von Borland findet sich ein FAQ-Beitrag mit der Nummer 20393: "<i>Article #20393: Parameters to Access Long Text fields limited to
    255 characters. A TQuery that updates an Access LongText field via a
    Parameter or a TUpdateSQL Component that does the same will fail if
    number of characters in the parameter is more than 255.
    The reason the ODBC driver error occurs is because the Access
    ODBC driver has a limit of 255 characters for parameters.
    The reason the error occurs with the Native driver is the DAO
    limits parameters to 255 characters and the BDE uses the
    Microsoft DAO client to use Access tables.
    The best workaround to this problem is to use ADO with Delphi 5.</i>".

    Und dort wird der verwendete Microsoft DAO-Treiber als der Schuldige benannt. Ich würde (falls ein Wechsel zu ADO nicht in Frage kommt) auf TTable ausweichen.
    &#10

    Comment

    Working...
    X