Thought I’d write a quick post on data type support for MySQL or any other system type for that matter to show some of the intricacies of why things happen. I was helping someone the other day import some tables from MySQL into OWB and there were some columns not imported – OWB mentioned they were skipped, this was because the platform definition at the time did not have the types expected (what types I hear you cry). The platform did have tinyint defined, strange, MySQL did have the column defined with tinyint(1), so what was wrong? The piece in the middle – the JDBC driver was projecting the column as having BIT datatype. The BIT datatype wasn’t in the MySQL platform’s definition when I first published it on the blog (it is now updated here).
You can retrieve the types supported by a platform using the OMBRETRIEVE PLATFORM command as follows;
On the OTN page for the OWB SDK there is a link to some useful utilities that let you visually see the platform definition including the types, and type mappings. Here is an example of the types for MySQL with the useful type properties captured (this expert was built using a simple java component here).
Some useful pointers to the experts and how things work.