FAQs - Fragen zur Konvertierung  
   

 

 

 

 

 


Wie konvertiere ich mein Informix Datenbank-Schema zu QueriX?

Das Datenbank-Schema wird nach QueriX migriert, damit der Output des Schemas in eine .4gl-Datei geändert wird, welche dann mit Querix kompiliert und ausgeführt werden kann. Unten ein Beispiel eines Datenbank-Schemas:

create table "root".my_stuff
(
my_num smallint not null,
first_name char(10) not null,
last_name char(10) not null
);
revoke all on "root".my_stuff from "public";

Der erste Schritt ist, die User-Name vom Schema zu entfernen:

create table my_stuff
(
my_num smallint not null,
first_name char(10) not null,
last_name char(10) not null
);
revoke all on my_stuff from "public";

Dies könnte einiges Überlegen erfordern, da die für mehrere Usere kopierten Tabellen, nur einmal erscheinen müssen, z.B:

create table "andy".fish
(
hallibut char(20)
)

create table "rod".fish
(
hallibut char(20)
)

In diesem Fall sind die Tabellen ohne User-Namen gleich. Daher ist nur eine Deklaration der Tabellen notwendig.

Danach muss der Revoke-Befehl entfernt werden;

create table my_stuff
(
my_num smallint not null,
first_name char(10)not null,
last_name char(10) not null
);

Als Nächstes soll das Semikolon am Ende der Tabelle entfernt werden:

create table my_stuff
(
my_num smallint not null,
first_name char(10) not null,
last_name char(10) not null
)

Und zuletzt, um ein 4GL-Programm aus der Datei zu erzeugen, werden die üblichen DATABASE, MAIN and END MAIN Key-Words an den entsprechenden Stellen dazugefügt:

DATABASE my_database

MAIN

create table my_stuff
( my_num smallint not null,
first_name char(10) not null,
last_name char(10) not null
)

END MAIN

Danach wird das Program kompiliert und ausgeführt. Es ist auch hilfreich, ein Program zu entwickeln, um die Datenbank zu "droppen":

DATABASE

my_database

MAIN

drop table my_stuff

END MAIN

Und das war´s.

Zurück


Wie kann ich es vermeiden, den Datenbank-Namen für Oracle und Informix ändern zu müssen?

Sie müssen die Datei '$QUERIXDIR/etc/dbtrans' mit dem folgenden Eintrag editieren:

{database name} * * {database login}/{database password}

Dies ermöglicht Ihnen die Datenbank mit dem Namen anzusprechen, und nicht das Login/pw. Beachten Sie: wenn die Datenbank sich auf einem anderen Rechner befindet als da wo der Eintrag vorgenommen wird, muss der Eintrag wie folgt sein:

{database name} * * {database login}/{database password}@{server name}

Zurück

   
   

 

 

x