Benutzer mit den meisten Antworten
System StoredProcedure ausführen

Frage
-
Hallo,
kann mir jemand veraten weshalb die Ausführung von "EXEC @RC = sys.sp_addlinkedserver @server, @srvproduct, @provider,
@datasrc, @location, @provstr, @catalog;" nicht funktioniert. --> "Falsche Syntax in der Nähe von 'Exec'"@datasrc nvarchar(4000),
@location tnvarchar(4000),
@provstr nvarchar(4000),
@catalog nvarchar(128),
-- Set parameter values
@server AS XLTEST_SP,
@srvproduct AS Excel,
@provider AS "Microsoft.Jet.OLEDB.4.0",
@datasrc AS "c:\book1.xls",
@provstr AS "Excel 8.0"
EXEC @RC = sys.sp_addlinkedserver @server, @srvproduct, @provider,
@datasrc, @location, @provstr, @catalog;
RETURN 0
Antworten
-
Hallo,
Variablen müssen zum einen mit DECLARE deklariert werden. Zuweisungen werden entweder beim DECLARE oder über eine SET Anweisung durchgeführt. Für oben - etwas gemischt um beides zu zeigen:
DECLARE @RC int, -- Zuweisung bei der Initialisierung (SQL Server 2008++) @server sysname = 'XLTEST_SP', @srvproduct nvarchar(128) = 'Excel', @provider nvarchar(128) = 'Microsoft.Jet.OLEDB.4.0'; DECLARE @datasrc nvarchar(4000), @provstr nvarchar(4000), @catalog nvarchar(128), -- nicht verwendet (NULL) @location nvarchar(4000); -- nicht verwendet (NULL) -- Zuweisung via SET SET @datasrc = 'c:\book1.xls'; SET @provstr = 'Excel 8.0'; EXEC @RC = sys.sp_addlinkedserver @server, @srvproduct, @provider, @datasrc, @location, @provstr, @catalog;
Gruß Elmar
- Als Antwort vorgeschlagen Christoph Muthmann Freitag, 20. September 2013 05:52
- Als Antwort markiert intern2011 Freitag, 20. September 2013 10:14
Alle Antworten
-
Hallo,
Variablen müssen zum einen mit DECLARE deklariert werden. Zuweisungen werden entweder beim DECLARE oder über eine SET Anweisung durchgeführt. Für oben - etwas gemischt um beides zu zeigen:
DECLARE @RC int, -- Zuweisung bei der Initialisierung (SQL Server 2008++) @server sysname = 'XLTEST_SP', @srvproduct nvarchar(128) = 'Excel', @provider nvarchar(128) = 'Microsoft.Jet.OLEDB.4.0'; DECLARE @datasrc nvarchar(4000), @provstr nvarchar(4000), @catalog nvarchar(128), -- nicht verwendet (NULL) @location nvarchar(4000); -- nicht verwendet (NULL) -- Zuweisung via SET SET @datasrc = 'c:\book1.xls'; SET @provstr = 'Excel 8.0'; EXEC @RC = sys.sp_addlinkedserver @server, @srvproduct, @provider, @datasrc, @location, @provstr, @catalog;
Gruß Elmar
- Als Antwort vorgeschlagen Christoph Muthmann Freitag, 20. September 2013 05:52
- Als Antwort markiert intern2011 Freitag, 20. September 2013 10:14