Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Nach Script Fehler mit zugriff !!! (https://www.delphipraxis.net/87180-nach-script-fehler-mit-zugriff.html)

dor557 24. Feb 2007 16:32

Datenbank: Firebird • Version: 2.0 • Zugriff über: IB Komponenten

Nach Script Fehler mit zugriff !!!
 
Hallo.

Ich bin dabei ein Kleines Tool zu schreiben damit ich ein Update der Software von der version 2 auf 3 machen kann.

Gleichzeitig muss ich auch die DB aus dem Paradox in das FB format exportieren.

Das eigene an sich funktioniert ! d.h. Das convertieren der daten. aber jetzt Folgendes Problem :

Ich Starte ein Script mit der IBScript Komponente. dieses wird korrekt ausgeführt.

Aber !! Sobald man auf JA zum Convert klickt dann bekomme ich die Meldung das die Tabelle FAHRER die in dem SQL Script erstellt wurde nicht zu finden ist.

warum das ?? Wenn ich die Anwendung dann neu starte geht es !! was is da los ?? Habe die Procedure mal hier eingefügt villeicht hat jemand von euch eine Idee !!

Delphi-Quellcode:
      if MessageDlg('Fehler beim öffnen der Datenbank. Soll an der angegebenen Stelle die datenbank erstellt werden ?',mtError, [mbYes,mbNo,mbCancel],0) = mrYes then
      begin
        IBScript.Script.LoadFromFile(InstallPath+'\new.sql');
        IBScript.Script.Strings[8] := 'CREATE DATABASE '''+ EditDBOrt.Text + '\' + editDBName.text +'''';
        IBScript.Script.Strings[9] := 'USER '''+EditUsername.text+''' PASSWORD '''+ EditPassword.Text + '''';
        IBScript.Script.SaveToFile(InstallPath+'\ausgabe.sql');
        refresh;
        if IBScript.ValidateScript then
         begin
           IBScript.ExecuteScript;
           if FileExists(EditDBOrt.Text + '\' + EditDBName.text) then
           if MessageDlg('Datenbank wurde Erstellt. Sollen nun die Daten convertiert werden ??',mtInformation, [mbYes,mbNo],0) = mrNo then close;
         end;
        IBDB.Params.Clear;
        IBDB.DatabaseName := EditDBOrt.Text + '\' + EditDBName.text;
        IBDB.Params.Add('user_name='+EditUsername.text);
        IBDB.Params.Add('password='+EditPassword.text);
        IBDB.Open;
      end;
Danke für Jeden rat !

Gruss Sascha

mkinzler 24. Feb 2007 16:48

Re: Nach Script Fehler mit zugriff !!!
 
Wie sieht das Skript aus?

dor557 24. Feb 2007 17:46

Re: Nach Script Fehler mit zugriff !!!
 
Das script habe ich mit IBExpert exportiert.

Es wird ja auch korrekt ausgeführt.

Alles erstellt.

Deshalb weiss ich nicht woran der Fehler liegt.

Aber hier mal das Script :

SQL-Code:
/******************************************************************************/
/****         Generated by IBExpert 2006.12.13 22.02.2007 15:47:37         ****/
/******************************************************************************/

SET SQL DIALECT 3;

SET NAMES NONE;

CREATE DATABASE 'C:\Programme\test\text.FDB'
USER 'USERNAME' PASSWORD 'password'
PAGE_SIZE 4096
DEFAULT CHARACTER SET NONE;



/******************************************************************************/
/****                               Domains                               ****/
/******************************************************************************/

CREATE DOMAIN T_YESNO AS
CHAR(1)
DEFAULT 'N'
CHECK((VALUE IS NULL) OR (VALUE IN ('N','Y')));



/******************************************************************************/
/****                              Generators                             ****/
/******************************************************************************/

CREATE GENERATOR GEN_AUFTRAGGEBER_ID;
SET GENERATOR GEN_AUFTRAGGEBER_ID TO 0;

CREATE GENERATOR GEN_FAHRER_ID;
SET GENERATOR GEN_FAHRER_ID TO 0;

CREATE GENERATOR GEN_FZ_ADDR_ID;
SET GENERATOR GEN_FZ_ADDR_ID TO 0;

CREATE GENERATOR GEN_LKWS_ID;
SET GENERATOR GEN_LKWS_ID TO 0;

CREATE GENERATOR GEN_UNTERNEHMER_ID;
SET GENERATOR GEN_UNTERNEHMER_ID TO 0;

CREATE GENERATOR GEN_WB_DATEN_ID;
SET GENERATOR GEN_WB_DATEN_ID TO 0;



SET TERM ^ ;



/******************************************************************************/
/****                          Stored Procedures                          ****/
/******************************************************************************/

CREATE PROCEDURE GET_AUFTRAGGEBER_ID
RETURNS (
    ID INTEGER)
AS
BEGIN
  EXIT;
END^


CREATE PROCEDURE GET_FAHRER_ID
RETURNS (
    ID INTEGER)
AS
BEGIN
  EXIT;
END^


CREATE PROCEDURE GET_FZ_ADDR_ID
RETURNS (
    ID INTEGER)
AS
BEGIN
  EXIT;
END^


CREATE PROCEDURE GET_LKWS_ID
RETURNS (
    ID INTEGER)
AS
BEGIN
  EXIT;
END^


CREATE PROCEDURE GET_UNTERNEHMER_ID
RETURNS (
    ID INTEGER)
AS
BEGIN
  EXIT;
END^


CREATE PROCEDURE GET_WB_DATEN_ID
RETURNS (
    ID INTEGER)
AS
BEGIN
  EXIT;
END^



SET TERM ; ^


/******************************************************************************/
/****                                Tables                               ****/
/******************************************************************************/



CREATE TABLE AUFTRAGGEBER (
    ID           INTEGER NOT NULL,
    AUFTRAGGEBER VARCHAR(255)
);

CREATE TABLE FAHRER (
    ID      INTEGER NOT NULL,
    NAME    VARCHAR(250),
    LKW     INTEGER,
    TELEFON VARCHAR(20)
);

CREATE TABLE FZ_ADDR (
    ID          INTEGER NOT NULL,
    FZ_NAME     VARCHAR(30),
    FZ_NR       SMALLINT,
    FZ_ADR_NAME VARCHAR(255) CHARACTER SET ISO8859_1,
    FZ_ADR_STR  VARCHAR(255) CHARACTER SET ISO8859_1,
    FZ_ADR_PLZ  VARCHAR(5) CHARACTER SET ISO8859_1,
    FZ_ADR_ORT  VARCHAR(1) CHARACTER SET ISO8859_1,
    FZ_ADR_ID   BIGINT
);

CREATE TABLE LKWS (
    ID      INTEGER NOT NULL,
    KENNZ   VARCHAR(15),
    IDKARTE VARCHAR(10)
);

CREATE TABLE UNTERNEHMER (
    ID             INTEGER NOT NULL,
    UNTERNEHMER    VARCHAR(255),
    FAHRER         VARCHAR(100),
    KENZ           VARCHAR(15),
    ID_KARTE       INTEGER,
    ABGANGSORT     VARCHAR(255),
    ABGANGSBAHNHOF VARCHAR(255),
    BEGEGNUNGSORT  VARCHAR(255),
    EMPFANGSORT    VARCHAR(255)
);

CREATE TABLE WB_DATEN (
    ID             INTEGER NOT NULL,
    T_ID           VARCHAR(255) NOT NULL,
    "FROM"         VARCHAR(255),
    "TO"           VARCHAR(255),
    ANZAHL         VARCHAR(255),
    SENDUNGSINHALT VARCHAR(255),
    GEWICHT        INTEGER,
    DATUM_GO       VARCHAR(10),
    DATUM_END      VARCHAR(10),
    ZEIT_GES       VARCHAR(5),
    ZEIT_ABF       VARCHAR(5),
    ZEIT_ANK       VARCHAR(5),
    ORT_DATUM      VARCHAR(255),
    NAME_F         VARCHAR(100)
);

/******************************************************************************/
/****                             Primary Keys                            ****/
/******************************************************************************/

ALTER TABLE AUFTRAGGEBER ADD CONSTRAINT AUFTRAGGEBER_PRIMARY PRIMARY KEY (ID);
ALTER TABLE FAHRER ADD CONSTRAINT FAHRER_PRIMARY PRIMARY KEY (ID);
ALTER TABLE FZ_ADDR ADD CONSTRAINT FZ_ADDR_PRIMARY PRIMARY KEY (ID);
ALTER TABLE LKWS ADD CONSTRAINT LKWS_PRIMARY PRIMARY KEY (ID);
ALTER TABLE UNTERNEHMER ADD CONSTRAINT UNTERNEHMER_PRIMARY PRIMARY KEY (ID);
ALTER TABLE WB_DATEN ADD CONSTRAINT WB_DATEN_PRIMARY PRIMARY KEY (ID);


/******************************************************************************/
/****                          Stored Procedures                          ****/
/******************************************************************************/


SET TERM ^ ;

ALTER PROCEDURE GET_AUFTRAGGEBER_ID
RETURNS (
    ID INTEGER)
AS
begin
  id=gen_id(GEN_AUFTRAGGEBER_ID,1);
  suspend;
end
^

ALTER PROCEDURE GET_FAHRER_ID
RETURNS (
    ID INTEGER)
AS
begin
  id=gen_id(GEN_FAHRER_ID,1);
  suspend;
end
^

ALTER PROCEDURE GET_FZ_ADDR_ID
RETURNS (
    ID INTEGER)
AS
begin
  id=gen_id(GEN_FZ_ADDR_ID,1);
  suspend;
end
^

ALTER PROCEDURE GET_LKWS_ID
RETURNS (
    ID INTEGER)
AS
begin
  id=gen_id(GEN_LKWS_ID,1);
  suspend;
end
^

ALTER PROCEDURE GET_UNTERNEHMER_ID
RETURNS (
    ID INTEGER)
AS
begin
  id=gen_id(GEN_UNTERNEHMER_ID,1);
  suspend;
end
^

ALTER PROCEDURE GET_WB_DATEN_ID
RETURNS (
    ID INTEGER)
AS
begin
  id=gen_id(GEN_WB_DATEN_ID,1);
  suspend;
end
^


SET TERM ; ^


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:44 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz