I have been looking for some documentation or post which tells me what the column definition for a MapInfo MI_STYLE column should be in Oracle. My guess is that it's VARCHAR2(128) or something like that since you have to give Pen, Brush, Line and Symbol style information.

I just don't want to be sitting around debugging problems created from an incorrect field definition so if anyone can give me some info or point me to the documentation that would be great.

2 Answers 2


It's been a while since I used Oracle, but I'm pretty sure the type should be VARCHAR2(254). I guess MapInfo Professional creates a wide a column as possible.

At least on my SQL Server I can see that the column is created as VarChar(254)

Just make sure you are using any of the Unicode column types and make sure that the length isn't bigger then 254 characters.

If you already have created the MapInfo.MapInfo_MapCatalog table in your database, you can check the column type of the column SYMBOL in this table. This column also holds style information like the MI_STYLE column.

BTW, you can use a different name for this column if you prefer. You have to specify the column name when adding your spatial table to the MapInfo_MapCatalog

  • your answer is good I just want people to see the documentation and formatting etc. when they find this thread otherwise I'd mark yours as the answer Commented Feb 14, 2014 at 0:54

Ok I did a bit of trial and test with easyloader, oracle and fme which left me coming out with this.

  • The column definition is VARCHAR2(254)
  • The actual data should look like and spacing DOES MATTER:
    "Global Pen (2, 2, 65280) Global Brush (17, 65280) Global Line (2, 2, 65280) Global Symbol (34, 65280, 18)"

The above should allow you to symbolise on a row by row basis with the MI_STYLE column regardless of wether the entry is a point, line or polygon. Below should give some meaning to my data I have entered for that^ particular MI_STYLE row:

Global Pen ({width}, {pattern}, {color}) // <-- of polygon boundary line
Global Brush ({pattern}, {forground color}, {background color}) // <-- of filled area
Global Symbol ({shape}, {color}, {size})
Global Line ({width}, {pattern}, {color})

In my case the MI_STYLE is based off the value of a certain column in my table and I'm glad it's finally working

I also found some doco here: http://reference.mapinfo.com/software/mapbasic/english/9_0/MB_UG.pdf

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.