AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken C# SET PARSEONLY bei SQL Server 2000 auswerten
Thema durchsuchen
Ansicht
Themen-Optionen

SET PARSEONLY bei SQL Server 2000 auswerten

Ein Thema von MagicAndre1981 · begonnen am 4. Mai 2005 · letzter Beitrag vom 17. Mai 2005
Antwort Antwort
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#1

SET PARSEONLY bei SQL Server 2000 auswerten

  Alt 4. Mai 2005, 13:10
Datenbank: MS SQL Server • Version: 2000 • Zugriff über: ADO.NET
Hallo,

bei dem SQL-Server gibt es die Option SET PARSEONLY. Damit wird das Script nicht ausgeführt, sondern nur überprüft.

Wie erkenne ich nun, ob ein Fehler in dem SQL-Statement ist. Wie lauten die Rückgabewerte, wenn alles in Ordnung, bzw. ein Fehler aufgetreten ist?

Danke schon mal im Vorraus für eure Hilfe.

André
André
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: SET PARSEONLY bei SQL Server 2000 auswerten

  Alt 5. Mai 2005, 21:05
*push*

So ich zieh das Thema mal wieder hoch.

Hat noch keiner die Option "SET PARSEONLY" beim SQL-Server 2000 benutzt? Oder kennt ihr eine andere Art Scripts zu überpüfen, ob sie korrekt sind?

André
André
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: SET PARSEONLY bei SQL Server 2000 auswerten

  Alt 5. Mai 2005, 22:40
Hallo Andre,

also so wie ich es verstanden habe, aendert sich fuer dich (fast) nichts. Du fuehrst das Query aus, aber der Server parst es nur und gibt dir dann wie immer Exceptions oder was auch immer zurueck. Syntaktische Fehler kannst du somit rausfinden, aber andere Fehler (wie z.B. eine Constraint violation) nicht (er parst ja schliesslich nur). Ich hab hier allerdings keinen SQL-Server, bei dem ich das austesten koennte. Die Logik sagt mir aber, dass er dir bei Syntaxfehlern immer noch Exceptions um die Ohren wirft

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: SET PARSEONLY bei SQL Server 2000 auswerten

  Alt 5. Mai 2005, 22:45
Zitat von alcaeus:
Hallo Andre,

also so wie ich es verstanden habe, aendert sich fuer dich (fast) nichts. Du fuehrst das Query aus, aber der Server parst es nur und gibt dir dann wie immer Exceptions oder was auch immer zurueck. Syntaktische Fehler kannst du somit rausfinden, aber andere Fehler (wie z.B. eine Constraint violation) nicht (er parst ja schliesslich nur). Ich hab hier allerdings keinen SQL-Server, bei dem ich das austesten koennte. Die Logik sagt mir aber, dass er dir bei Syntaxfehlern immer noch Exceptions um die Ohren wirft

Greetz
alcaeus
Wenn eine Exception kommt dann ist die Option irgendwie sinnlos. Dann kann ich das Script auch ausführen. Na ja trozdem danke.
Am Montag beschäftige ich mich dann wieder intensiver damit, jezt ist WE
André
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#5

Re: SET PARSEONLY bei SQL Server 2000 auswerten

  Alt 5. Mai 2005, 22:48
Zitat von MagicAndre1981:
Wenn eine Exception kommt dann ist die Option irgendwie sinnlos. Dann kann ich das Script auch ausführen.
Naja, nicht ganz. So hast du die Gewissheit, dass dein Query zwar passt, die Datenbank aber noch lebt. Mir faellt im Moment zwar kein Einsatzgebiet fuer diese Option ein, aber bitte.
Und zu den Exceptions: ich wuerde die sowieso immer abfangen und selbst behandeln

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: SET PARSEONLY bei SQL Server 2000 auswerten

  Alt 6. Mai 2005, 08:27
Zitat von alcaeus:
Mir faellt im Moment zwar kein Einsatzgebiet fuer diese Option ein, aber bitte.
Ich erstelle mir die Scripts zur Laufzeit des Tools aus einer Beschreibung von Business Objekten. Und deshalb würde ich jetzt gerne, zur Entwicklungszeit, die erstellten Scripts nur parsen und testen ob sie syntaktisch korrekt sind. Und dabei bin ich halt auf diese Option gestoßen.

Zitat von alcaeus:
Und zu den Exceptions: ich wuerde die sowieso immer abfangen und selbst behandeln
Das versteht sich von selbst Alle Exception werden behandelt.

André
André
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

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

Re: SET PARSEONLY bei SQL Server 2000 auswerten

  Alt 7. Mai 2005, 15:56
Das Errors-Objekt einer ADO-Connection enthält etwaige Fehler des zugehörigen Resultsets. Eine Anfrage könnte mehrere Resultsets zurückliefern (select * from a; select * from b).
Du musst durch alle Resultsets durchiterieren und dann das Errors-Objekt abfragen.

Da bei SET PARSEONLY vermutlich keine Resultsets zurückgeliefert werden, tritt hier ein sonderfall ein. Beim Aufruf von ADOConnection.Execute gibt es eine option, sodass ADO eben nicht meckert, wenn nix zurückkommt. Check das mal.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: SET PARSEONLY bei SQL Server 2000 auswerten

  Alt 17. Mai 2005, 13:28
Hi Leute,

das Problem hat sich erledigt. Bei Fehlern in der Syntax wird ein Fehler an den Client gesendet, den man mit der Klasse SqlException
Zitat:
ms-help://MS.NETFrameworkSDKv1.1/cpref/html/frlrfsystemdatasqlclientsqlexceptionclasstopic.htm
abfangen kann.

Das war alles.

Beim nächstem mal sollte ich die Hilfe doch noch intensiver lesen

Danke an alle, die hier mitgeholfen haben

André
André
  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 17:15 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