AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken [FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetreten

[FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetreten

Ein Thema von Devil1925 · begonnen am 7. Jun 2017 · letzter Beitrag vom 8. Jun 2017
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#1

[FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetreten

  Alt 7. Jun 2017, 14:21
Datenbank: MSSQL • Version: 2012 • Zugriff über: UNIDAC
Moin, ich erhalte oben genannten Fehler beim Versuch eine Query zu öffnen. Das SQL in der Query sieht folgendermaßen aus:

SQL-Code:
Select Count(*) as Anz from (Select Nr, Kopf_Idx, Pos, Artikel_Nr_Str, Bezeichnung1, Bezeichnung2, Anzahl, Menge, GewPos, VK, GVK, Changed_Last, Creation_Date from
Bele_Sub where (Kopf_IDX in (Select IDX from Beleg where (Typ = 'Uand Datum > DATEADD(month, -6, GETDATE()) and
(Kunden_Nr in (Select Kunden_Nr from Kundenst where 1=1 AND Sortierfeld like :Sortierfeld +'%AND :Name = :Name AND :PLZVON = :PLZVON AND :PLZBIS = :PLZBIS AND :Ort = :Ort
AND (isnull(inaktiv, 0) = 0) AND (isnull(Sperrkennzeichen,'N') = 'N')) or Kunden_Nr2 in (Select Kunden_Nr from Kundenst where 1=1 AND Sortierfeld like :Sortierfeld +'%AND :Name = :Name AND :PLZVON = :PLZVON
AND :PLZBIS = :PLZBIS AND :Ort = :Ort AND (isnull(inaktiv, 0) = 0) AND (isnull(Sperrkennzeichen,'N') = 'N'))))) ) or
(Kopf_IDX in (Select IDX from Beleg where (Typ = 'Uand Datum > DATEADD(month, -6, GETDATE()) and (Kunden_Nr in ('') or Kunden_Nr2 in ('')))))) T
die Parameter erstetze ich mit z.B.   Query.ParamByName('Sortierfeld').AsString := 'Test'; . Wenn ich die Query nun mit Query.Open öffnen will, so erhalte ich beim Debuggen die Meldung
Code:
Es ist eine Exception der Klasse EFailOver mit der Meldung '' aufgetreten.
. Wenn ich nun auf Fortsetzen klicke erscheint diese Meldung erneut. Compiliere ich die App im Release, so wird diese Meldung nicht angezeigt und die App hängt in einer Endlosschleife. (Gerade Testweise mal laufen gelassen, und es geht seit ca 20 minuten so.

Das SQL kommt auch beim SQL Server an. Hier habe ich mal den SQL Server Profiler angeworfen.


Weiss hier jemand Rat?

[EDIT]
eine Weitere Erkenntnis ist, dass dieser Fehler nur auf dieser Einen Datenbank auftritt. ich habe das jetzt noch auf einer 2008 MSSQL Datenbank und einer 2014 MSSQL Datenbank ausprobiert. Hier funktioniert alles Super. Auch wird diese Query schon vorher auf der Datenbank mit anderen Parametern und anderem SQL geöffnet und geschlossen.
[/EDIT]
Miniaturansicht angehängter Grafiken
sql-server-profiler.jpg  
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.

Geändert von Devil1925 ( 7. Jun 2017 um 15:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#2

AW: [FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetrete

  Alt 7. Jun 2017, 15:07
Hallöle...
Kann das sein das das SQL nicht komplett in diesen Beitrag kopiert wurde?
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#3

AW: [FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetrete

  Alt 7. Jun 2017, 15:24
Wie kommst du darauf? (ich habe nur vergessen zwei doppelte hochkommas zu entfernen, die habe ich jetzt gerade noch korrigiert) das ist das SQL
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#4

AW: [FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetrete

  Alt 7. Jun 2017, 15:32
Zitat:
GETDATE()) and (Kunden_Nr in ('') or Kunden_Nr2 in ('')))))) T
T ... und dann was?
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: [FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetrete

  Alt 7. Jun 2017, 15:41
man braucht bei MSSQL einen Alias für ein Subselect wenn man aus diesem Selektiert.

Nehmen wir mal 2 simple Select-Statements:

 Select * from (Select Kunden_Nr, Name from Kundenst)
 Select * from (Select Kunden_Nr, Name from Kundenst) T
in diesem Fall wird das erste SQL Statement nicht funktionieren, da hier kein Alias für  (Select Kunden_Nr, Name from Kundenst) vergeben wurde.
Das zweite SQL hingegen funktioniert mit diesem Alias. Es kann natürlich auch als Alias "A" oder "B" oder auch "Hustensaft" vergeben werden.
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.275 Beiträge
 
Delphi 12 Athens
 
#6

AW: [FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetrete

  Alt 7. Jun 2017, 17:50
ok.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: [FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetrete

  Alt 8. Jun 2017, 08:32
Zitat:
AND :Name = :Name AND :PLZVON = :PLZVON ...
Du vergleichst Parameterwert mit Parameterwert?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#8

AW: [FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetrete

  Alt 8. Jun 2017, 08:37
Das kommt daher, dass ich die Parameter alle in dem SQL Brauche wegen der befüllung. und da die manchmal irrelevant sind habe ich die einfach gleich gesetzt. Hierdurch sollte doch eigentlich das gleiche passieren wie " 1=1 " oder?

Ausserdem kann ich mir nicht vorstellen, dass das daran liegt, da ich die Prozedur, in der der Fehler auftritt vorher schon ca 20 mal durchlaufen habe. und das ganze nur bei diesem SQL auftritt. Bei den anderen werden ebenfalls Parameter mit Parametern verglichen.
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.534 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: [FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetrete

  Alt 8. Jun 2017, 08:40
Ich bin mir nicht sicher, ob die DB mit mehreren gleichnamigen Parametern klarkommt. Welchen würdest Du denn z.B. bei ParamByName('Name') erwarten, den ersten oder den zweiten?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Devil1925
Devil1925

Registriert seit: 20. Nov 2015
Ort: Saerbeck
236 Beiträge
 
Delphi 10.3 Rio
 
#10

AW: [FMX ANDROID UNIDAC] Exception der Klasse EFailOver mit der Meldung '' aufgetrete

  Alt 8. Jun 2017, 08:42
Also bei der DB kommt das mit geänderten Parameternamen an (z.B.  and :Name = :Name_1 and :PLZVon = :PLZVon_2 )
Philipp
Höllische Grüße
Devil
Meistens sitzt das Problem vor dem Bildschirm! - Leider bin das oftmals ich.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:53 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