I'm being able to access Sage 50 data via their ODBC Driver but cannot appear to determine when the tables possess a unique / primary key. The ODBC.Internet Driver doesn't appear to come back any information relevant to indexes or key area information.

Anybody got any clues?


Tables ending in "m" appear to become master tables with actual real data in...

Have no idea in the event that helps whatsoever.

Sage Line 50 utilizes a proprietry database. So far as I know there's no indexing from the tables.

Around the primary objects for example Clients, Providers the important thing indexed fields are ACCOUNT_REF, if it is a transaction file you'd join on HEADER.HEADER_NUMBER -> SPLIT.HEADER_NUMBER - they focus on old-fashioned linked lists are aren't indexed

For Sales or Purchase Orders, Invoice documents you'd join INVOICE.INVOICE_NUMBER to INVOICE_ITEM.INVOICE_NUMBER

Or you could think about a Sage integration platform, Zynk which may allow you to do all this much faster than coding it yourself.