![]() |
Datenbank: MS SQL 2005 • Zugriff über: ADO
[GELÖST] Zeichenkettenverknüpfung
Hi,
ich bin grad n bisschen am Verzweifeln mit der Stringkonkatenation in MS SQl. Wie in der Hilfe, in der DP und im Inet steht, hab ich die Strings mit einem "+" verknüpft. Jetzt Krieg ich aber immer die Fehlermeldung "Zeile 15: Falsche Syntax in der Nähe von '+'."
SQL-Code:
Ich hab @Path auch schon als varchar probiert, geht auch nicht.
create procedure dbo.cf_Test
@Path ntext, @JobName varchar(80), @StepName varchar(80), @Subsystem varchar(80) as execute msdb..sp_add_job @job_name = @JobName execute msdb..sp_add_jobstep @job_name = @JobName, @step_name = @StepName, @subsystem = @Subsystem, @command = '/FILE "'+@Path+'" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING E' // |_hier ist der Fehler go Kann mir bitte wer sagen, wo mein Fehler liegt? Thx |
Re: Zeichenkettenverknüpfung
Hallo,
entweder da sind ein paar " zuviel oder ein paar + zuwenig:
SQL-Code:
so
@command = '/FILE "'+@Path+'" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING E'
SQL-Code:
oder so
@command = '/FILE "'+@Path+'" /MAXCONCURRENT " + -1 + " /CHECKPOINTING OFF /REPORTING E'
SQL-Code:
@command = '/FILE "'+@Path+'" /MAXCONCURRENT -1 /CHECKPOINTING OFF /REPORTING E'
|
Re: Zeichenkettenverknüpfung
Wertet MSSQL doppelte Anführungszeichen denn aus?
Weil, ... "-1" ... ist Teil des Strings. Der ganze Parameter @command wird von SQL an die WinCmd übergeben, deshalb ist @Path und die -1 in Anführungszeichen. Hm mal probieren... Edit: Nee, es kann doch gar nich daran liegen, er meckert ja an dem + vor @Path. (Wenn ich den String auf drei Zeilen aufteile, meckert er immernoch an Zeile 15, wo dann nur noch der Teil bis zum ersten + steht.) |
Re: Zeichenkettenverknüpfung
Alles klar, hab den Fehler gefunden:
SQL-Code:
So muss es lauten. Anscheinend sind zusammengesetzte Strings im Prozeduraufruf nicht zulässig :coder2:
create procedure dbo.cf_Test
@Path varchar(50), @JobName varchar(80), @StepName varchar(80), @Subsystem varchar(80) as declare @com varchar(100) execute msdb..sp_add_job @job_name = @JobName set @com = '/FILE "'+@Path+'" /MAXCONCURRENT " -1 " /CHECKPOINTING OFF /REPORTING E' execute msdb..sp_add_jobstep @job_name = @JobName, @step_name = @StepName, @subsystem = @Subsystem, @command = @com Aber Thx4Help |
Re: [GELÖST] Zeichenkettenverknüpfung
Hallo,
jo, sieht so aus, bín da auch gerade zu dem Schluss gekommen :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz