Menu

#130 DBPROP_JETOLEDB_COL_COMPRESSED not set w Add Column

wont-fix
2024-03-03
2024-01-27
Ian Eales
No

v 2.5.11.830

Adding a column leaves the compressed flag false and it is not editable in Properties.

An application I use selects the whole 60 character length rather than just the data length.

Discussion

  • Marciel Degasperi

    • labels: COMPRESSED flag --> COMPRESSED flag, 2.5.11.830
    • status: open --> accepted
     
  • Marciel Degasperi

    Thanks for reporting.

    I am unable to reproduce the problem. In my tests, columns created by the table creation wizard or the column creation wizard were generated with the mentioned option.

    Please detail step by step how you encountered the problem. If possible, send a database file with a test case.

     
  • Marciel Degasperi

    • status: accepted --> pending
     
  • Ian Eales

    Ian Eales - 2024-01-27

    I use FlySpeed SQL Query to maintain and query the data.

    I added a Column w MDB_Admin to a JET database I've used for about 20 years.
    ALTER Table Movies
    ADD Column Country TEXT(60)

    The column is created with the DBPROP_JETOLEDB_COL_COMPRESSED flag set to FALSE and there is no way to change it in the MDB_Admin EDIT page.

     
  • Marciel Degasperi

    • status: pending --> accepted
     
  • Marciel Degasperi

    Ok, I got it. I'm going to do some tests, but I believe it is not possible to change this property, as well as others properties. MDB Admin uses ADOX, and this has some limitations. If it is possible, I will add the option to the columns "Edit" menu.

    Meanwhile, you can create columns with the instruction below:

    ALTER Table Movies
    ADD Column COUNTRY3 TEXT(60) WITH COMPRESSION

     
  • Marciel Degasperi

    I tried several ways, but each time an error occurred when trying to change this property via ADOX. I think it's a bug in this library, but the equivalent property ("Jet OLEDB:Compressed UNICODE Strings") cannot be set. The only way to add a command to configure this option would be to use some resource external to ADOX, such as an SQL command. However, this adds a layer of complexity to the application, which I intend to avoid until more similar functionality is needed.

    Alternatively, you have a few options:

    1- Create the columns using MDB Admin helper

    By default, text columns created via ADOX are compressed; or

    2- Use the following syntax to create columns:

    ALTER Table Movies
    ADD Column COUNTRY3 TEXT(60) WITH COMPRESSION
    

    You can also change a pre-existing column:

    ALTER Table Movies 
    ALTER Column COUNTRY3 TEXT(60) WITH COMPRESSION
    
     
  • Marciel Degasperi

    • status: accepted --> wont-fix
     

Anonymous
Anonymous

Add attachments
Cancel