Einzelnen Beitrag anzeigen

HolgerX

Registriert seit: 10. Apr 2006
Ort: Leverkusen
961 Beiträge
 
Delphi 6 Professional
 
#6

Re: Mit ADOCommand auf SQL2000 eine SP erzeugen?

  Alt 26. Dez 2006, 20:35
Aus der Delphi-Hilfe
Zitat:
Die Komponente führt den in ihrer Eigenschaft CommandText angegebenen Befehl aus. Es kann immer nur ein Befehl aufgerufen werden. Die Parameter des Befehls werden in der Eigenschaft Parameters übergeben. Die eigentliche Ausführung wird von Methode Execute durchgeführt.
Query Analyzer:
- Kann Batch-Skripte ausführen, sprich mehrere Befehle in einem Skript hintereinander!
TADOCommand:
- Immer nur ein Befehl !!

Zitat von sveni2211:
Beispiel:

SQL-Code:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_ChangeMasterID]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_x_D3000SV_MietEig]
GO

CREATE Procedure sp_ChangeMasterID
Wenn ich das Script im Query Analyzer lade und ausführe, dann funktioniert es. Lade ich es hingegen in die Command- Komponenten und versuche es auszuführen, kommt eine Fehlermeldung, dass der Kontext nicht stimmen würden und er die Operation nicht ausführen kann. Also irgendwie unterscheidet sich das ausführen mit der Delphi- Komponente noch von der mit dem Query Analzer.
Wie im Ausschnitt des SQL-Skripts zu sehen, sind es mindestens 2 Befehle:
Nr. 1:
SQL-Code:
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_ChangeMasterID]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[sp_x_D3000SV_MietEig]
Nr. 2:
CREATE Procedure sp_ChangeMasterID Das 'GO' wird und kann nur im Query Analyzer verwendet, aus explizierter Befehl zum Ausführen!

Trenne die Befehle und es wird Klappen !

Schauiii..

Holger
  Mit Zitat antworten Zitat