Quick one this. Today I've been attempting to reverse engineer some database objects from an Oracle 10G server into Microsoft Visio 2003 but it was failing with this rather nasty and useless error message:

As with many such problems the cause of this one lies in the murky depths of the drivers that I used. Originally I chose to use the Oracle Server driver (yeah yeah, I know) but as it turned out I should have chosen the Generic OLE DB Provider:

Changing to the Generic OLE DB Provider enabled me to successfully import all my objects and also seemingly resulted in much much less activity furing the import. You don't get the ability import triggers and check constraints which the Oracle Server driver does (well, would if it worked) but if you can live without triggers and check constraints in your Visio diagrams then stick with the Generic OLE DB Provider.
Some extra info. The Generic OLE DB Driver is an abstraction over a number of OLE DB Providers which are shown here:

I attempted the import using both the "Microsoft OLE DB Provider for ODBC Drivers" and the "Microsoft OLE DB Provider for Oracle". Both were successful.
-Jamie