EXEC('CREATE '+string)

02/01/2008 - 23:42 von Lutz Elßner | Report spam
EXEC('CREATE APPLICATION ROLE ['+@application_role_name+'] WITH
PASSWORD = ''' + @password + ''', DEFAULT_SCHEMA=['+@schema+']')

In SQL Prozeduren können solche Zeilen vorkommen.

Nun denke ich drüber nach was passiert, wenn jemand im password oder einem
anderen Parameter Hochkommas oder eckige Klammern verwendet.

In NET haben wir die Parameter Objekte um das zu vermeiden, aber wie ist es
bei SQL richtig? Diese CREATE Anweisungen sind ja keine Prozeduren, die
Variablen als Parameter nehmen.

Lutz
 

Lesen sie die antworten

#1 Christa Kurschat
03/01/2008 - 09:35 | Warnen spam
Hallo Lutz,

"Lutz Elßner" <www.vb-hosting.de> schrieb im Newsbeitrag
news:
EXEC('CREATE APPLICATION ROLE ['+@application_role_name+'] WITH
PASSWORD = ''' + @password + ''', DEFAULT_SCHEMA=['+@schema+']')

In SQL Prozeduren können solche Zeilen vorkommen.

Nun denke ich drüber nach was passiert, wenn jemand im password oder einem
anderen Parameter Hochkommas oder eckige Klammern verwendet.

In NET haben wir die Parameter Objekte um das zu vermeiden, aber wie ist


es
bei SQL richtig? Diese CREATE Anweisungen sind ja keine Prozeduren, die
Variablen als Parameter nehmen.



ich würde immer, wenn es nur möglich ist, die Systemprozeduren für solche
Aufgaben verwenden.
Hier würde sich z.B. die proc sp_addapprole anbieten.

Gruß
Christa
Access-FAQ: http://www.donkarl.com
SQL-Server-FAQ: www.sqlfaq.de
InsideSql: www.insidesql.de
Suchen in den Newsgroups:
http://groups.google.de/advanced_gr...p;ie=UTF-8

Ähnliche fragen