AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird - externe Stored Procedure mit Zeilenrückgabe
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird - externe Stored Procedure mit Zeilenrückgabe

Ein Thema von omata · begonnen am 29. Aug 2007 · letzter Beitrag vom 29. Aug 2007
Antwort Antwort
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#1

Firebird - externe Stored Procedure mit Zeilenrückgabe

  Alt 29. Aug 2007, 20:01
Datenbank: Firebird embedded • Version: 2 • Zugriff über: Zeos 6.6.1
Hallo,

ich möchte gern eine Funktionalität in Firebird nachbilden, die zur Zeit in einer MsSQL2000-DB läuft.

In MsSQL kann man ja über xp_cmdshell DOS-Befehle ausführen...
Code:
  SELECT @s = 'dir/s/b ' + @pfad
  INSERT INTO #temp EXEC master.dbo.xp_cmdshell @s
Das Ergebnis, also die Datei-Pfade, werden dann in eine temporäre Tabelle geschrieben.

Dieses Vorgehen hat den Vorteil das ein Dateivergleich (welche Datei ist neu, welche ist nicht mehr vorhanden) von ~2 Stunden auf ~2 Minuten reduziert werden konnte.
Ist soetwas auch mit Firebird möglich? Ich könnte ja die CMD-Befehlsverarbeitung auch in eine Delphi-Dll packen, aber wie bekomme ich die Zeilen der Verarbeitung dann wieder in die Firebird-DB?

Ich möchte also eine externe UDF schreiben, die eine Tabelle zurückgibt. Ist soetwas oder etwas ähnliches, das mein Problem löst, möglich?

Gruss
Thorsten
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Firebird - externe Stored Procedure mit Zeilenrückgabe

  Alt 29. Aug 2007, 20:11
Statt einer UDF würde ich es mit einem einem EXECUTE BLOCK versuchen.
Man könntes es mit einer EXTERNAL FILE versuchen.
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Firebird - externe Stored Procedure mit Zeilenrückgabe

  Alt 29. Aug 2007, 20:20
Hallo mkinzler,

über EXTERNAL FILE bin ich auch gerade gestolpert. Ich weiss nur nicht ob ich die Datei auch während die DB läuft verändern darf. Was du allerdings für einen Vorteil in EXECUTE BLOCK siehst, erschliesst sich mir noch nicht.

Gruss
Thorsten
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Firebird - externe Stored Procedure mit Zeilenrückgabe

  Alt 29. Aug 2007, 20:25
Zitat:
ich weiss nur nicht ob ich die Datei auch während die DB läuft verändern darf.
Nur select und insert
Zitat:
Was du allerdings für einen Vorteil in EXECUTE BLOCK siehst, erschliesst sich mir noch nicht.
Man kann die Abfrage zur Laufzeit erzeugen.
Markus Kinzler
  Mit Zitat antworten Zitat
omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Firebird - externe Stored Procedure mit Zeilenrückgabe

  Alt 29. Aug 2007, 20:30
Zitat von mkinzler:
Zitat:
ich weiss nur nicht ob ich die Datei auch während die DB läuft verändern darf.
Nur select und insert
ja auf der Tabelle aus DB-Sicht. Ich hatte da jetzt etwas gemeiner gedacht, nämlich von außen.

Zitat von mkinzler:
Zitat:
Was du allerdings für einen Vorteil in EXECUTE BLOCK siehst, erschliesst sich mir noch nicht.
Man kann die Abfrage zur Laufzeit erzeugen.
ja eine SQL-Abfrage. DOS-Befehle ausführen gehört aber ja nicht zum Umfang.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Firebird - externe Stored Procedure mit Zeilenrückgabe

  Alt 29. Aug 2007, 20:32
Artikel für das externe erzeugen von external files für FB
http://www.firebirdsql.org/index.php...eful&id=netzka
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz