Database Structure file - Forum - OpenEdge RDBMS - Progress Community

Database Structure file


Database Structure file

  • I have version 10.1C04. I have created a database and I'm trying to add areas to its structure. I have set up a .st file with the following d “Data”:100,32;1 MyDb_100.d1 f 1024000 When I run prostruct add I get the message Invalid extent type M in extent length specification. Why am I getting this and, if my format is wrong, can you advise the correct one? Dave MacLurg
  • There could be a few reasons.  Try this: I replaced the file name by a dot.  This tells prostrct to create the extent in the current working directory and it will name it automatically.

    d “Data”:100,32;1 . f 1024000

    Note that I never use file names in my structure files for this exact reason.  I only put directory names and usually I just put "." unless I specifically want to create a file somewhere different.  

    Also you don't say so specifically, but I assume this file is called something like "" and you are running "prostrct add Mydb".

    If this does not work:

    - Is this a new storage area called "Data" or are you trying to add files to an existing SA?  I ask because the file name is .d1 which implies a new SA.

    - Is the DB called MyDb?  On UNIX this is case-sensitive


    Paul Koufalis
    White Star Software
    @oeDBA (

    ProTop: The #1 Free OpenEdge DB Monitoring Tool
  • I have tried this and I still get the same message and it identified "." as the invalid extent type. It is as if I'm missing an element of the area definition, but I have checked what I have against the Progress documentation.

    I have also tried creating a new .st file and running a prostruct create but I get the same result.

  • Why don't you paste in the actual structure file?

    Consulting in Model-Based Development, Transformation, and Object-Oriented Best Practice

  • This has to be a parsing issue.  prostrct expects token 4 (space-delimited) to be "f" or "v" or nothing.  Did you cut-and-paste the line from MS Word?  

    Try this:

    cd /tmp

    prodb toto sports2000

    prostrct list toto


    Now vi, delete everthing except one line and edit each component (area name, area #, RPB, BPC, directory,"f", size).  Now try prostrct add MyDB

    Paul Koufalis
    White Star Software
    @oeDBA (

    ProTop: The #1 Free OpenEdge DB Monitoring Tool
  • If your database is indeed named MyDB (if not you get 6857 error) then try quoting the area name.

  • The message "Invalid extent type M in extent length specification", is most likely because you copied this st file from Windows.  It's interpreting the end of line ^M. If you open your .st file in (say) vi, you'll see the ^M at the end of each line to confirm this.  It can be removed by running: %s/(ctrl-v)(ctrl-m)//g

  • Yeah I can confirm that this is the likely cause as I had exactly the same problem when playing around with some bits last week, and C&Ping from M$.

  • The ^M is not an issue for my .st files coming from NT to Unix (tested on Solaris64 in 10.2b08)


    d "Data":100,32;1 MyDb_100.d1 f 10240^M


    It is only when I remove the quotes around the area name "Data"  that I get the error:

    Syntax error in structure file:

    d Data:100,32;1 MyDb_100.d1 f 10240

    Fixed Length flag incorrect. M (6830)

    Error occurred on line 2. (6819)

    prostrct add FAILED. (12867)