Autor Beitrag
OlliWausD
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 212

Win 2000/XP
Delphi 5 Professional - Interbase/Firebird
BeitragVerfasst: Fr 14.01.05 12:00 
hi Leutz,

sorry, das ich das Thema noch einmal aufgreife, muss aber sein

Folgendes:
In Früheren Versionen gab es im Programm keine Stored Procedures. Jetzt sind es ca 80 Stück und ein Neues Update-Script für die Datenbank muss geschrieben werden.

Somit müsste ich im Datenbank-Update-Prog diese Erzeugen. Problem ist jedoch, dass ich den Code zum Erstellen der SP nicht in einer Query ausführen kann, da der ":" unterschiedlich Interpretiert wird !

Beispiel:
ausblenden Quelltext
1:
SELECT * FROM abc WHERE Felda=:Uebergabeparameter					

is bekannt. Funkioniert auch einwandfrei, da der ":" als Eingabeparameter erkannt wird.
Bei Stored Procedures wird der ":" jedoch als Variablen-Parameter benutzt:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
CREATE PROCEDURE NEW_PROCEDURE 
AS
DECLARE VARIABLE VARIABLENNAME INTEGER;
begin
  FOR SELECT Irgendwas FROM Irgendwo WHERE Irgendwas=IrgendwasAnderes INTO :Variablenname do
  begin
    IF (Variablenname=1) THEN MachWas
    suspend;
    END
end


somit kann ich die SP nicht zur Laufzeit erzeugen !

Kann mir jemand weiterhelfen??

mfg

OlliW

Moderiert von user profile iconTino: Delphi- durch Code-Tags ersetzt.

_________________
Take it easy
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Fr 14.01.05 12:51 
Hi,

ich vermute Du arbeitest mit Interbase / Firebird. Bzgl. der Zugriffskomponenten muss ich schon raten, denke aber, dass es überall (UIB, IBX, FIBPlus, IBObjects) eine Script-Komponente gibt. Lade in der dein Script und führe es aus, fertig!

Lemmy
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Fr 14.01.05 14:59 
Hallo,

in den IBXpress Komponenten gibt es die Komponente IBScript.
Damit kannst du dann auch SPs anlegen.

Gruß
Ken

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
OlliWausD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 212

Win 2000/XP
Delphi 5 Professional - Interbase/Firebird
BeitragVerfasst: Mo 17.01.05 10:00 
@CenBells

ok, woher bekomm ich das???
auf www.ibx.com muss man sich registrieren, und das will ich nicht!
und bei Torry.net find ich die Kompo ebenfalls nicht.

Hat jemand nen Link für mich?

mfg

OlliW

_________________
Take it easy
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Mo 17.01.05 10:33 
Hallo Olli,

hast Du dich auch mal umgesehen was es bei www.ibx.com gibt???

Wenn Du die IBX-Komponenten rutnerladen willst, dann musst Du dich bei der Borland-Community anmelden:
community.borland.com/

Dort findest Du den Link zum CodeCentral und dort zum aktuellen Update der IBX für Delphi 5 (wo die IBXScript drin sein sollte):

cc.borland.com/codec...exe/listing?id=18961

Grüße
Lemmy
CenBells
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 1547

Win 7
Delphi XE5 Pro
BeitragVerfasst: Mo 17.01.05 10:38 
hi,

die ibx componenten findest du bei borland im codecentral

hier ist die Version 5.04 für delphi 5 cc.borland.com/ccweb.exe/listing?id=18961

laut den install informationen ist IBScript dort enthalten.

Gruß
Ken

edit: mist zu langsam ;)

_________________
Eine Klasse beschreibt die Struktur und das Verhalten einer Menge gleichartiger Objekte.
OlliWausD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 212

Win 2000/XP
Delphi 5 Professional - Interbase/Firebird
BeitragVerfasst: Mo 17.01.05 14:15 
sorry, jungs

aber auch nach dem Download-Klick kommt die Abfrage mit dem Login-Promt.

Und Registrieren WILL ICH MICH NICHT !!

Gibts die Komponenten nicht einfach frei zum Runterladen????

mfg

OlliW

_________________
Take it easy
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mo 17.01.05 14:22 
Wenn Du mit D5 arbeitest und dazu auch die Updates von Borlan gezogen hast, dann bist Du doch schon registriert, oder irre ich mich da?
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Mo 17.01.05 15:32 
Hi,

UGrohne hat folgendes geschrieben:
Wenn Du mit D5 arbeitest und dazu auch die Updates von Borlan gezogen hast,



die sind übrigends Voraussetzung für das Update auf die neueste IBX Version für D5!

Wenn Du dich nicht registrieren willst, dann musst Du dir halt nen anderen Weg suchen...

Grüße
Lemmy
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mo 17.01.05 18:30 
Hi,

ich verstehe solche Themen einfach nicht. Und die kommen noch sehr oft vor. 8) Wieso soll man den Umweg über Delphi nutzen, um in der DB eine Stored Procedure anzulegen ?. Wozu soll das gut sein und vor allem, warum soll das wichtig sein ? :shock:

_________________
Gruß
Hansa
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Mo 17.01.05 19:17 
Hi Hansa,

hansa hat folgendes geschrieben:
Wieso soll man den Umweg über Delphi nutzen, um in der DB eine Stored Procedure anzulegen ?. Wozu soll das gut sein und vor allem, warum soll das wichtig sein ? :shock:


das mache ich auch hin und wieder: nämlich um die Datenbank bei den Kunden zu aktualisieren! Denen kann ich schlecht ne Konsole und ein Updatescript mitschicken, damit die das "von Hand" einspielen!

Grüße
Lemmy
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Mo 17.01.05 20:44 
mann mann, Lemmy :mrgreen: Ist das Dein Ernst ? :shock:

1. die DB vor Ort nochmals umbauen zu müssen, das sollte wirklich nur im Notfall nötig sein, oder wenns nicht anders geht, noch bei Pilotprojekt.

2. Wie bereits gesagt, ist es mit Kanonen auf Spatzen geschossen, für so was ein Delphi-Programm einzusetzen.

So geht es auch :

a) Script anlegen (Bsp.: : TEST.SQL) :

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
SET SQL DIALECT 3;

SET NAMES ISO8859_1;

CONNECT 'C:\db\TESTDB.GDB'              bis hierher natürlich
USER 'SYSDBA' PASSWORD 'masterkey'      alles anpassen an
PAGE_SIZE 4096                          bestehende DB !!
DEFAULT CHARACTER SET ISO8859_1;

CREATE PROCEDURE TEST (
    TEST INTEGER)
AS
BEGIN
  EXIT;
END


b) folgendes ausführen :

IBEScript TEST.SQL

Das ganze ließe sich sogar locker auf einer 1.44 Diskette ausliefern und der Enduser würde nur ein *.BAT starten.

Ist sogar getestet ! :lol:

P.S.: das Beispiel geht nur davon aus, daß die SP da ist, mehr nicht !!

_________________
Gruß
Hansa
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Mo 17.01.05 23:33 
Ich finde das gar nicht mit Kanonen auf Spatzen geschossen. Ich hab selbst ein Projekt, bei dem ich so etwas machen muss. Schließlich will der Kunde ab und zu neue Funktionen, wenn ihm was ganz neues und spektakuläres einfällt. Und somit ist ein Update der Datenbank eben auch ab und zu fällig.

Nennt man das nicht Extreme Programming ? :twisted:

Und zu Deinem Beispiel: Wo zum Teufel hast Du die ibescript.exe her?
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Di 18.01.05 00:19 
UGrohne hat folgendes geschrieben:
... Schließlich will der Kunde ab und zu neue Funktionen, wenn ihm was ganz neues und spektakuläres einfällt. Und somit ist ein Update der Datenbank eben auch ab und zu fällig...Und zu Deinem Beispiel: Wo zum Teufel hast Du die ibescript.exe her?


Wenn dem was Spektakuläres einfällt, ja das könnte schon sein. Aber ich würde ihn nur äußerst ungern an die Definition der DB heran lassen. So was sollte nur in Rücksprache mit dem geschehen, der die DB aufgebaut hat. Ansonsten gilt : Alle Passwörter abschalten usw. und freie Fahrt. Ob das was wird ? Glaube es nicht. 8)

_________________
Gruß
Hansa
Lemmy
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 792
Erhaltene Danke: 49

Windows 7 / 10; CentOS 7; LinuxMint
Delphi 7-XE10.1, VS 2015
BeitragVerfasst: Di 18.01.05 07:38 
Guten Morgen Hansa,

nun mal langsam.. :D Ich habe hier ne Auftragsverwaltung, die bekam in der Version 3 ne Dokumentenverwaltung dazu (ca. 14 neue Tabellen sowie einige SPs) in der Version 4 habe ich einen anderen Teil erweitert, was wiederum 4-5 neue Tabellen sowie weitere SPs mit sich brachte!

Mag sein, dass es für den Zweck der Ausführung eines Scriptes schon Programme gibt, aber ich denke, dass die Entwicklung eines solchen Proggys nicht so schwer ist, dass man den Markt nach einem entsprechenden Tool absuchen muss.

Zudem, was ist denn IBEScript? Ich habe IBExpert gerade nicht installiert, aber das ist auch ein programmiertes Tool. Ob ich dafür jetzt Delphi oder C++ einsetze spielt bei der Größe des Programmes gar keine Rolle!

Grüße
Lemmy

habe ich gerade erst gelesen:
Zitat:

Ansonsten gilt : Alle Passwörter abschalten usw. und freie Fahrt. Ob das was wird ? Glaube es nicht. 8)


davon hat niemand gesprochen, dass jeder an der Struktur herumpfuschen darf, sondern lediglich darum, ein vom Entwickler bestimmtes Update einzuspielen!
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Di 18.01.05 11:08 
hansa hat folgendes geschrieben:
Wenn dem was Spektakuläres einfällt, ja das könnte schon sein. Aber ich würde ihn nur äußerst ungern an die Definition der DB heran lassen. So was sollte nur in Rücksprache mit dem geschehen, der die DB aufgebaut hat. Ansonsten gilt : Alle Passwörter abschalten usw. und freie Fahrt. Ob das was wird ? Glaube es nicht. 8)

Er macht das doch nicht selbst, das könnte er gar nicht. Er sagt nur, dass er die und die Funktion in dem Programm noch bräuchte (z.B. eine bestimmte Statistik) und evtl. musss dafür die Datenbank angepasst werden. Das wird automatisch vom Programm über ein Skript dann gemacht, dass die Datenbank ändert. Da hat der Anwender nichts mit zu tun.
OlliWausD Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 212

Win 2000/XP
Delphi 5 Professional - Interbase/Firebird
BeitragVerfasst: Mi 19.01.05 15:12 
hansa hat folgendes geschrieben:
Hi,

ich verstehe solche Themen einfach nicht. Und die kommen noch sehr oft vor. 8) Wieso soll man den Umweg über Delphi nutzen, um in der DB eine Stored Procedure anzulegen ?. Wozu soll das gut sein und vor allem, warum soll das wichtig sein ? :shock:


ganz einfach:
Jedes Halbjahr kommt ein neues Update heraus, und dieses muss
"OHNE HILFE DER PROGRAMMIERER" einfach durchlaufen.

Quasi: Kunde installiert Update -> Script ausführen -> Programm geht.

aber gut, darüber müss mer jetzt nicht diskutieren, denk ich mal

so! Mal mit dem Chef reden, was der dazu sagt (Borland-Community)+Update der Entwicklungsumgebung.

trotzdem Danke Jungs

mfg

OlliW

_________________
Take it easy