sp_executeSQL mit GUIDs (SQL 2000 deutsch)

25/02/2008 - 17:40 von Olaf Rabbachin | Report spam
Hi *,

in einer SP bastle ich einen SQL-Befehl zusammen, á la:

8<
DECLARE @nvcSQL nvarchar(4000)

SET @nvcSQL = N'
SELECT ...
FROM dbo.MyTable
WHERE
( ... )
AND
MyGUID IN (' + @nvcGUIDs + N')'

EXEC sp_executeSQL @nvcSQL
8<

<@nvcGUIDs> enthàlt dabei die der SP übergebenen GUIDs als
"vorkonfektioniertes" IN-statement, z.B.:

'''{2e54c32c-9afb-4fa9-89c4-c05dc23125d2}'',
''{9c0a2c39-e487-4a54-b711-298fa74d1e56}'''

Im SQLSMS funzt das wunderbar, wenn ich die SP per EXEC aufrufe oder mir
das zusammengesetzte SQL per PRINT ausgebe und dann ausführe.
Mache ich das aber aus der (VB).Net-Anwendung heraus, bekomme ich folgende
Fehlermeldung (#8169):

8<
Syntaxfehler beim Konvertieren einer Zeichenfolge in uniqueidentifier.
8<

Woran kann das liegen ..? Gibt's evt. ein Problem mit der Locale?

Win: WinXP SP2, Englisch
SQLS: SQL2000 Deutsch (8.00.2039), SQL_Latin1_General_CP1_CI_AS
.Net: VS 2005 Pro Englisch (8.0.50727.762, SP.050727-7600)
Framework: 2.0.50727 SP1

Gruß,
Olaf
 

Lesen sie die antworten

#1 Christoph Ingenhaag
25/02/2008 - 17:53 | Warnen spam
"Olaf Rabbachin" wrote:

Hi *,

in einer SP bastle ich einen SQL-Befehl zusammen, á la:

8<
DECLARE @nvcSQL nvarchar(4000)

SET @nvcSQL = N'
SELECT ...
FROM dbo.MyTable
WHERE
( ... )
AND
MyGUID IN (' + @nvcGUIDs + N')'

EXEC sp_executeSQL @nvcSQL
8<

<@nvcGUIDs> enthàlt dabei die der SP übergebenen GUIDs als
"vorkonfektioniertes" IN-statement, z.B.:

'''{2e54c32c-9afb-4fa9-89c4-c05dc23125d2}'',
''{9c0a2c39-e487-4a54-b711-298fa74d1e56}'''

Im SQLSMS funzt das wunderbar, wenn ich die SP per EXEC aufrufe oder mir
das zusammengesetzte SQL per PRINT ausgebe und dann ausführe.
Mache ich das aber aus der (VB).Net-Anwendung heraus, bekomme ich folgende
Fehlermeldung (#8169):

8<
Syntaxfehler beim Konvertieren einer Zeichenfolge in uniqueidentifier.
8<

Woran kann das liegen ..? Gibt's evt. ein Problem mit der Locale?

Win: WinXP SP2, Englisch
SQLS: SQL2000 Deutsch (8.00.2039), SQL_Latin1_General_CP1_CI_AS
..Net: VS 2005 Pro Englisch (8.0.50727.762, SP.050727-7600)
Framework: 2.0.50727 SP1

Gruß,
Olaf



Hallo Olaf,

probiers mal ohne geschweifte Klammern.

Vg
Christoph

Ähnliche fragen