AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO Fehlermeldung - "aus mehreren Schritten OLE DB-Vorgang"
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Fehlermeldung - "aus mehreren Schritten OLE DB-Vorgang"

Ein Thema von generic · begonnen am 22. Jun 2005 · letzter Beitrag vom 7. Mär 2013
Antwort Antwort
generic
Online

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#1

ADO Fehlermeldung - "aus mehreren Schritten OLE DB-Vorg

  Alt 22. Jun 2005, 12:40
Datenbank: MSSQL • Version: 2000 • Zugriff über: Borland.ADO
Moin

ich greife mittels ADODatasets auf eine MSSQL Datenbank zu.
Wenn ich jetzt viele Datensätze bearbeite (ca. 50000) tritt gelegentlich der Fehler:
Zitat:
Fehler bei einem aus mehreren Schritten bestehenden OLE DB-Vorgang. Prüfen Sie die einzelnen OLE DB-Statuswerte, falls vorhanden. Daten wurden nicht verarbeitet
auf.

Die Anwendung ist nicht multithreaded bzw. das Programm läuft nur im VCL Thread.
die datasets werden zur laufzeit erstellt.

Was erzeugt genau die Fehlermeldung?
Wie kann ich den Fehler verhindern?

[edit]
OS: XP SP2
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
generic
Online

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#2

Re: ADO Fehlermeldung - "aus mehreren Schritten OLE DB-

  Alt 16. Jan 2006, 08:40
ich konnte inzwischen den fehler auf ein sql reduzieren.

dieser fehlermeldung kommt von ado dann, wenn innerhalb des sql's welches ausgeführt werden soll, eine (oder mehrere) funktionen/ stored procedures aufgrufen werden und ein tieferer func/proc aufruf fehl schlägt.

im sql-query analyser wird dann meist der richtige fehler angezeigt.
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#3

Re: ADO Fehlermeldung - "aus mehreren Schritten OLE DB-

  Alt 16. Jan 2006, 10:09
Auch wenn Du das Problem gelöst hast, solltest Du verstehen, wie ADO die Rückgaben vom SQL-Server interpretiert (weist Du ja vielleicht sogar schon).

Jedes Select erzeugt mindestens eine Meldung 'xy Rows affected', selbt bei einem "SELECT @foo = 1". ADO interpretierte diese Meldung nach einem INSERT/UPDATE/DELETE, ob die Operation überhaupt funktioniert hat. Deshalb sollte man IMMER in Triggern als erste Zeile ein 'Set nocount on' machen, damit nämlich die o.g. Meldung unterdrückt wird.
Nun ist die Welt in Ordnung: ADO macht z.B. ein INSERT (eine Zeile) und wartet auf die Meldung '1 rows affected'. Wenn das kommt, ist ADO zufrieden.

Wenn Du also INSERT-Trigger hast, gleich erstmal in 'set nocount on', 'set nocount off' klammern. Danach wird die ADO-Fehlermeldung vermutlich anders aussehen, vielleicht siehst Du dann sogar die richtige Fehlermeldung. Auf jeden Fall ist die Welt dann in Ordnung.

Ganz fies wird es bei 'updatable Views', bei denen das automatische Update/Insert/Delete durch einen 'Instead of'-Trigger ausgeschaltet ist ('CREATE TRIGGER foobar ON MyView INSTEAD OF INSERT...') Dann MUSST Du die o.g. Meldung irgendwie erzeugen, damit ADO weiss, das die Operation funktioniert hat.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: ADO Fehlermeldung - "aus mehreren Schritten OLE DB-

  Alt 16. Jan 2006, 13:36
Lies dazu auch mal in der Code-Library:
ADO-Fehler (bestehend aus mehreren Schritten) anzeigen
Andreas
  Mit Zitat antworten Zitat
generic
Online

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#5

Re: ADO Fehlermeldung - "aus mehreren Schritten OLE DB-

  Alt 16. Jan 2006, 13:54
lustig, wollte eigendlich nur nochmal das ergebnis meiner offen frage zusammen fassen und diese als erledigt markieren.
nach ca. 6 monaten (einstelldatum: 22.06.2005) weiss plötzlich jeder von dem problem und hat vorschläge.
die getalladoerrors werde ich mal mir anschauen.

danke
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: ADO Fehlermeldung - "aus mehreren Schritten OLE DB-Vorgang"

  Alt 7. Mär 2013, 13:23
OK ist etwas älter, aber da mir dieser Fehler in letzter Zeit auch des öfteren über den Weg gelaufen ist...
Er bedeutet, das irgendein Wert/String außerhalb der vorgegebenen Begrenzungen liegt.
Dies kann z.B. so hervorgerufen werden
Code:
select ID||'und jetzt kommt gaanz viel 100-200 Zeichen Text'
oder aber auch durch einen "ungewöhnlichen" Datumswert
Code:
SELECT ..,to_char(MyDATE)...
zurückgegeben wird
Code:
0004-11-11 00:00:00
Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:10 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz