Book a Demo

Author Topic: Access DB types and generated DDL  (Read 3027 times)

Den

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Access DB types and generated DDL
« on: February 08, 2006, 07:10:07 am »
Hi

I made a table in EA 6.1 and chose the Access DB. Two problems:
1) I cannot use GUID DB type in EA, but the Jet DB engine can - I would like to be able too.
2) In the diagramm columns seems to be sorted in alpabetical order. I adjusted the columns order in the Properties dialog but in the exported DDL columns were created in the same alphabetically sorted order as in the diagramm, not in the order I defined.

I'm new to EA, and I'm not sure that I did everything in the right way.

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Access DB types and generated DDL
« Reply #1 on: February 08, 2006, 12:50:48 pm »
I asked about this too Den; see:

http://www.sparxsystems.com.au/cgi-bin/yabb/YaBB.pl?board=general;action=display;num=1138557908

You will find the discussion informative, but the conclusions bleak.

David
No, you can't have it!

Den

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Access DB types and generated DDL
« Reply #2 on: February 08, 2006, 02:21:56 pm »
Thank you. By the way, Jet understands GUID type in DDL - I do not use Access itself, I use C++, ADO and Jet combination and tables are created by executing DDL statements.

And what about with the generated DLL - I'd like to create the tables in the order I prefer, not the EA prefered one.

Anyway, even this very basic experiment has proven that I cannot use EA for the  purpose of modelling a DB.



«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Access DB types and generated DDL
« Reply #3 on: February 10, 2006, 07:59:13 am »
Den,

I'm in a similar situation, only using Access (or the Jet back end) where I have to, but preferring a constellation of other engines. Still, it is useful to be able to manipulate Jet, given the number of products that use it (EA included).

Yes, you can use the GUID keyword in Jet DDL, and it works just fine. However, other posters are correct that Jet does not report this through the automation interface. More correctly, Jet does not report it directly. The default data type in Jet reporting is Text. Also, if fields do not report a size attribute, they default to 255. You can test this yourself via DDL. You will not be able to specify a field size for anything other than Text; if you leave it out for a Text field you you will end up with Text(255).

However, Jet does report the GUID type indirectly. If you query the Properties collection of a Field object, and look at the Type entry, Jet will return an enumeration item. Using ADO you will get a value from DataTypeEnum, with GUID fields returning dbGUID = 15. With ADO or ADOX the value is from the OLEDB version of DataTypeEnum, which is somewhat different and more comprehensive; in this case dbGUID = 72, but it is still the same animal. I have not tested this for ODBC, but my suspicion is that it is one of the above.

Next question is: Who approaches Sparx with this, and through which channel?

Bruce: are you listening? You've navigated the Sparx process more than I. Surely you have some insights?

David
No, you can't have it!