views:

122

answers:

2

I've been assigned the task of creating an import utility as part of our application, and as part of the requirements, we need to be able to import from as many different file types as possible. For the most part, this is fine, the initial loading of data comes from a component that then passes it up so we can put everything in it's proper place. However, there are a couple of file extensions that get used by multiple systems and I need to determine the system so I can tell my component how to read the data properly.

Is there a place available online that can give me file signatures for different file types? Filext has limited information, and almost no signatures on the types I need, specifically .DB for Paradox, dBase IV, SQL Anywhere, Novell Groupwise, Progress, and Oracle and .DAT for Clarion and DBISAM. Thanks.

+1  A: 

Lots of file formats are documented at Wotsit. However, most of what you've mentioned are binary formats and will be almost impossible to import without using actual drivers and documented interfaces (Oracle, for instance).

Ken White
Looks like this has most of what I need. Supposedly, the component can read everything (as it works with offline files), so I'm just going to go with it as is and tell it what type use. Thanks.
Tom
Just thinking about manually working with Oracle at the binary level gives me heartburn. Good luck, Tom. <g> Glad I could help.
Ken White
Thankfully, I'm not working with oracle at the binary level except to scan far enough to identify it (fairly easy stuff). After that, the component I have takes over and does the actual reads and pushes the data to me.
Tom
Ah, that's not so bad then. :-)
Ken White
A: 

The configuration file of the Unix "file" utility might be useful. It is a kind of declaration language for file detection.

There are mingw/windows versions of this command that work fine, and in general is a must have.

Marco van de Voort
If that's available in Linux, I'll get a vm of ubuntu running to check it out.
Tom
yes, pretty standard
Marco van de Voort