Announcement

Collapse
No announcement yet.

Abfrage ist zu komplex

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

  • Abfrage ist zu komplex

    Hallo Delphianer,
    schon nach Eingabe eines Zeichens in ein DBGrid-Feld, welches über eine TTable- oder eine TQuery-Komponente auf eine grosse Access-97-Tabelle (77 Columns) zugreift, erscheint die Fehlermeldung

    Indexfehler
    [Microsoft][OBDC Microsoft Access 97-Treiber] Abfrage ist zu komplex.

    Wie kann eine grosse Access-97-Tabelle mit Delphi 3 Professional bearbeitet werden.

    Mit freundlichen Grüssen
    Wilfried

  • #2
    Hallo Wilfried,

    anscheinend ist nicht D3, sondern dein ODBC-Treiber der Flaschenhals. Immer wenn dieser Treiber das Bindeglied ist, wirst du wohl Probleme haben.

    Gibt es nicht für die neue BDE einen nativen Access-Treiber?
    Oder was ist mit ADO?
    Gibt es evtl. von MS ein Update für Deinen ODBC-Treiber?

    Wenn alle Möglichkeiten ausscheiden, mußt du wohl das Datenmodell verändern, d.h. die Tabelle zerlegen.

    Gruß Ka

    Comment


    • #3
      Hallo Kai,

      Ich habe bereits einen neuen Jet-Treiber installiert. Der Erfolg blieb jedoch aus. Eine Tabelle mit 40 Spalten kann ich bearbeiten, ab 41 Spalten erscheint besagter Fehler. ADO und native Treiber sind mir noch nicht bekannt.

      Wo finde ich dazu grundlegende Info's?

      Gruß Wilfried

      Comment


      • #4
        Hallo Wilfried,

        ein Update auf die aktuelle BDE bekommst Du im Internet von Borland.
        Der neue Access-Treiber ist dort mit dabei. Allerdings braucht Deine Anwendung dann immer eine BDE-Installation auf jedem Client.

        Mit ADO habe ich selber noch nichts gemacht, da solltest Du mal die Experten fragen.

        Gruß Ka

        Comment


        • #5
          Hi Kai,

          die BDE510ge ist schon seit langem auf auf meinem PC installiert. Auch mit D4 keine Erfolge. Ich habe das Problem auch an Inprise und Better - Office geschickt. Ich bin mal gespannt, wann und welche Auskunft ich bekomme. Bis kurz vor Weihnachten konnte man eine Hotline von Inprise anrufen (0190...) und bekam schnell eine zufriedenstellende Auskunft. Ist leider nicht mehr. Nun muß ich viel lesen. Ist alles teuer und nicht sehr berauschend. Es kann doch nicht sein, daß eine SW verkauft wird, die nicht hält was sie verspricht.

          Gruß Wilfried

          Comment


          • #6
            In der ODBC Microsoft Desktop-Datenbank-Treiber-Hilfe wird auf eine Beschränkung des AND-Prädikats von 40 hingewiesen.
            Kann das die Ursache für maximal 40 Spalten sein?

            Gruß Wilfrie

            Comment


            • #7
              Hallo,

              eine weitere Möglichkeit ist die Überschreitung der maximal zulässigen Länge der abgeschickten SQL-Anweisung. Wenn lange Spaltenbezeichnungen verwendet werden, kommen bei 77 Spalten schon einige kByte für den Abfragetext zusammen, die nicht mehr vollständig in den Anweisungs-Puffer passen

              Comment


              • #8
                Hallo Wilfried,

                wenn Du die BDE 510 hast, dann richte doch mal in der BDE-Konfiguration einen Alias für die Access-Db ein und greife darauf in Delphi zu (z.B. über eine TDatabase oder direkt in Deiner TQuery). Und versuche es damit. Die bloße Anwesenheit des BDE.Treibers nütz ja nix :-) (oder hab ich Dich falsch verstanden)?

                Zum anderen Thema:
                Wer hat nicht schon viel Zeit und Geld in Software investiert, die dann nicht das tat, was man von ihr erwartet hatte??! Davon können wir sicher alle ein Lied singen. Oft sind es Bugs im erworbenen Programm, nicht allzu selten aber fehlendes eigenes Know How (merke ich leider nur allzuoft am eigenen Leib...).

                Gruß Ka

                Comment


                • #9
                  Hallo Andreas,

                  ich kenne nicht die Aufnahmekapazität des Anweisungspuffers. Wenn man diese vergrößern kann, wie? An dem Projekt sind insgesamt drei Abteilungen beteiligt. Eine Forderung, Änderungen an der DB vorzunehmen, könnten für mich u.U. unangenehme Konsequenzen zur Folge haben.

                  - Fa. Bayer Abteilung IM (Ersteller der DB mittels Access 97)

                  - Fa. Zwick (Zugriff mit Microsoft C auf DB funktioniert)

                  - Fa. Bayer Abteilung ZT-FM (Zugriff mit Delphi funktioniert nicht)

                  Hallo Kai,

                  auf die DB greife ich bereits über einen Alias und TDatabase zu. Mit TQuery habe ich auch schon Versuche unternommen. Auch der Zugriff mit der Datenbankoberfläche 7 war negativ. Ich vermute mal, wenn es damit funktioniert, klappt es auch mit Delphi.

                  Gruß Wilfrie

                  Comment


                  • #10
                    Bei den Zugriff mittels Microsoft C auf die DB wird was verwendet: ODBC, DAO oder ADO?

                    Mit was greift Du zu: ODBC, DAO, ADO? Ich vermute mal mit ODBC. Probier es mal mit DAO bzw ADO. Falls es damit klappen sollte liegt das Problem beim ODBC-Treiber von Access

                    Comment


                    • #11
                      Hallo Wilfried,

                      <<Ich vermute mal, wenn es damit funktioniert, klappt es auch mit Delphi. >>
                      genauso ist es!!! Dein Zugriffsproblem liegt am Treiber und nicht an Delphi!!

                      Der Alias, den Du eingerichtet hasst, verwendet der den nativen Access-Treiber oder den ODBC-Treiber (beides geht nämlich!!!) ???
                      Ich tippe auf Variante 2. Falls ich Recht habe, lege einen neuen Alias unter Verwendung des 'echten' Access-Treibers an und du solltest Erfolg haben.

                      Gruß Ka

                      Comment


                      • #12
                        Hi Delphianer,

                        es schnackelt mit dem nativen Access-Treiber. IN BDEAdmin ist jedoch der richtige Treiber einzustellen.

                        "DAO3032.DLL" für Access-95 und "IDDA3532.DLL" für Access-97.

                        Dank an alle für die nützlichen Tip's.

                        Gruß Wilfrie

                        Comment

                        Working...
                        X