Restoring progress database

Posted by Ghulam Qadir on 30-Nov-2016 08:44

Hi

I am new to progress openedge technology. I have some .d one .df and one .st file. I have installed a classroom version to my pc. How do i restore the files in my progress environment?

So the files are an export from another progress environment.

thanks 

Posted by Matt Baker on 30-Nov-2016 08:58

The basic flow (without all the variants and details).

The .st file is a "database structure file".  It contains database file layout.  You use prostrct command line tool with this file to create the database structure.  Something like "prostrct create <.st file>".  You *MIGHT* need to edit the .st file with your favorite text editor to make sure the paths are correct.  Its a fairly simply format.  If you need help search on the communities site documentation for the file layout.

Once you have used prostrct to create the database using the .st file, start your database server using "proserve <database name>".

Then start the progress database administration tool (see the start menu or run "prowin <database name> -p _dict.p". (or use prowin32 if you are using 32 bit install). And connect to the database (you're prompted to on startup of the tool, or pick connect from the menu).

The .df file is the database schema file. It contains the tables/fields/indexes/sequences and such that define the database schema.  Once you have your database connected, select tools->database administration and then find the 'load data definitions' from the menu and load the .df file.

The .d files are basic text data files that contain database data.  From database administration tool find the "load table contents" and load all the .d files.

All Replies

Posted by Brian K. Maher on 30-Nov-2016 08:48

What are the contents of the .st file?

Posted by Matt Baker on 30-Nov-2016 08:58

The basic flow (without all the variants and details).

The .st file is a "database structure file".  It contains database file layout.  You use prostrct command line tool with this file to create the database structure.  Something like "prostrct create <.st file>".  You *MIGHT* need to edit the .st file with your favorite text editor to make sure the paths are correct.  Its a fairly simply format.  If you need help search on the communities site documentation for the file layout.

Once you have used prostrct to create the database using the .st file, start your database server using "proserve <database name>".

Then start the progress database administration tool (see the start menu or run "prowin <database name> -p _dict.p". (or use prowin32 if you are using 32 bit install). And connect to the database (you're prompted to on startup of the tool, or pick connect from the menu).

The .df file is the database schema file. It contains the tables/fields/indexes/sequences and such that define the database schema.  Once you have your database connected, select tools->database administration and then find the 'load data definitions' from the menu and load the .df file.

The .d files are basic text data files that contain database data.  From database administration tool find the "load table contents" and load all the .d files.

Posted by Brian K. Maher on 30-Nov-2016 09:04

One step is missing.  After the prostrct create command you only have a void database.  You need to then do a procopy of empty into the new void db (procopy empty new_db).

Posted by Ghulam Qadir on 30-Nov-2016 09:06

Hi

content of the st file is  generated by PROREST on Thu

b .

d "Schema Area":6,32;1 .

d "Static":7,28;8 .

d "Transaction":8,28;8

Posted by Ghulam Qadir on 30-Nov-2016 09:15

Hi Thanks for the reply, when i run prostrct i get the the following error msg

** The character . is not permitted in name c.st. (274)

and when i use the command without .st i get the following error 

PROSTRCT CREATE: cannot read file c.st, command ignored. (6918)

Is there some thing i am missing. thanks again 

Posted by Brian K. Maher on 30-Nov-2016 09:28

prostrct create coins

Posted by Ghulam Qadir on 30-Nov-2016 09:37

Yes sorry it did once i put the st file in the prostrct folder. But the proserver is not running. can you please tell me where the proserve should run from ? do i need to copy the dlc content in the folder containing the .st, .df and .d files?

Posted by Matt Baker on 30-Nov-2016 09:56

$>proserve coins

There is a 'proenv' command in <installationdir>/bin.  On windows this is available from the menu.  This starts a command prompt with the environment already setup for you.  

So when we list these commands we assume you are running in the shell environment setup by "proenv" command.

This will prevent you from having to copy anything to your installation directory.

So first step is ALWAYS to start the proenv shell

$>prostruct create coins

$>procopy empty coins

$>proserve coins

$>prowin -db coins -p _dict.p

...

Posted by Brian K. Maher on 30-Nov-2016 10:00

You should never copy anything into the installation directory or any directory underneath it.
 

1)      Run the proenv command.  This will open a command shell.

2)      If on windows, type “prompt” (no quotes) and press enter.  This will change the prompt to show you the directory.

3)      Copy the .st file into the current directory.

4)      Type “prostrct create <dbname>” (no quotes) where  <dbname> is the name of the .st file minus the .st extension.

5)      Type “procopy empty <dbname>” (no quotes) where <dbname> is the name of the newly created database (minus the .db extension).

6)      Type “prowin32 -db <dbname> -1 -p _admin.p” (no quotes) where <dbname> is the database name.  Change prowin32 to prowin if you are running 64-bit version on windows.

7)      From the Data Administration window, select Admin -> Load Data and Definitions -> Data Definitions (.df file)...

8)      From the Load Data Definitions dialog, enter the .df file (browse for it using the “Files...” button).

9)      Click “OK” button.

10)   Assuming load of .df file went without error....

11)   From the Data Administration window, select Admin -> Load Data and Definitions -> Table Contents (.d file)...

12)   From the Select Tables dialog, click the “Select Some ...” button.

13)   From the Select Tables by Pattern Match dialog, leave the “Table Name” field as an asterisk (“*”)  and click the “OK”button.

14)   From the Select Tables dialog, click the “OK” button.

15)   From the Load Data Contents for All Tables dialog, click the “Data Dir...” button and select the directory where your .d files are located.

16)   Specify a value for the “Acceptable Error Percentage” field.  I personally use “100” so the load does not stop for errors since you can always delete things and start again.

17)   Leave the “Output Errors to Screen” check box unchecked (this will create <table_name>.e files for any load issues.

18)   Click the “OK” button.

 

Posted by Brian K. Maher on 30-Nov-2016 10:00

_dict.p is for unix/linux.  On windows the correct program to run is _admin.p.

Posted by Ghulam Qadir on 01-Dec-2016 06:58

Hi thanks all for the detailed answer, i am now in a position to migrate the db. I have loaded the progress .st, .df and .d files in the database and can look at the tables.

I have 2 questions.

1. How to migrate the db to the SQL? I have used the official guide but when i try to connect to the ODBC there is an error that is "We cant connect to the source or target , 8265"

2. Is there a way to query progress tables ?

Many thanks

Posted by Brian K. Maher on 01-Dec-2016 07:02

Ghulam,
 
I think you should open a support case with us rather than us trying to help you unofficially piece by piece.
 
Brian

Posted by Ghulam Qadir on 01-Dec-2016 08:15

Brian,

I wanted to get support but not sure the class room version qualify for the official support. I will open a support case if that is the case.

Many thanks once again

Ghulam

Posted by Brian K. Maher on 01-Dec-2016 08:24

What do you mean when you say “how to migrate the db to the SQL”?

This thread is closed