There's no way to be generic. In addition to utilizing specifc ODBC Drivers for each database you're most likely also using SQL commands/functions that are database-specific. Just look at SQL Server and Oracle, SQL uses ISNULL, Oracle uses NVL. Also, joins behave differently in SQL Server and Oracle when combined with WHERE clauses due to different optimizations being used.
_________________________
There are two types of vessels, submarines and targets.