TSQLScript hat keine "Params" Eigenschaft

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
hubblec4
Beiträge: 341
Registriert: Sa 25. Jan 2014, 17:50

TSQLScript hat keine "Params" Eigenschaft

Beitrag von hubblec4 »

Hiho

Ich bin gerade dabei eine SQL Datenbank zu erneuern/optimieren. Dabei hatte ich auch das Thema SQL-Injections im Auge.
Ich denke das habe ich auch soweit verstanden. Statt des eigentlichen Wertes wird im SQL Code erstmal ein Parameter gesetzt, welcher dann unter
Params.ParamByName('meinPara').AsString:=Wert gesetzt wird.

Da ich für manche Aufgaben zwingen das TSQLScript verwenden muss, frage ich mich nun wie das dort funktioniert.
Die Eigenschaft Params gibt es dort nicht, oder heist das nur anders.

Kann man sich somit mit dem TSQLScript nicht vor SQL-Injections schützen?

hubble

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: TSQLScript hat keine "Params" Eigenschaft

Beitrag von af0815 »

Die Frage ist für was du Tsqlscript wirklich verwendest.

Ersetzen kannst du es ja durch eine Folge von Queries die hintereinander ausgeführt werden. TSQLScript unterteilf auch nur das Script in Teile und führt diese aus. Ich setzte das TSQLScript nur bei Verwaltungsaufgaben ein, und Bulkcopies. Also nur dort wo der Benutzer per se nichts damit zu tun hat.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

hubblec4
Beiträge: 341
Registriert: Sa 25. Jan 2014, 17:50

Re: TSQLScript hat keine "Params" Eigenschaft

Beitrag von hubblec4 »

af0815 hat geschrieben:Die Frage ist für was du Tsqlscript wirklich verwendest.

Wie meinst du das? Also wirklich verwenden tut man es um mehrere, von einander abhängige SQL statements zu verarbeiten.
Mir ist schon klar das ein einfacher Befehl auch mit dem TSQLQuery gemacht werden kann.

af0815 hat geschrieben:Ersetzen kannst du es ja durch eine Folge von Queries die hintereinander ausgeführt werden.

Das hatte ich als aller erstes maL so programmiert, weil ich ja auch keine Ahnung hatte, das Ergebnis war/ist eine Katastrophe.
In einem anderen Programm wo es schonmal vorkommt das 1000 Querys verarbeitet werden müssten, und das ganze dauert....aber mit dem TSQLScript ist das in 0,2sekunden erledigt.

af0815 hat geschrieben:TSQLScript unterteilf auch nur das Script in Teile und führt diese aus. Ich setzte das TSQLScript nur bei Verwaltungsaufgaben ein, und Bulkcopies. Also nur dort wo der Benutzer per se nichts damit zu tun hat.
Andreas


Es kommt sicher immer auf die Umgebung an. Also muss ich schauen das ich das TSQLQuery verwende um SQL-Injections abzufangen und TSQLScript für "interne nicht User zugängliche" Vorgänge.

Antworten