Oh les "joies" d'Oracle... Ok, en gros, je ne me suis jamais soucié des versions x64, j'ai juste compilé mes programmes pour 32 bits exclusivement, donc si c'est une exigence difficile, tout ne peut pas s'appliquer pour vous.
Mais la façon dont je suis devenu indépendant de la version était simplement de ne pas utiliser de pilotes installés par le client; à la place, j'ai déployé dans mon répertoire d'application à la fois les bibliothèques pour Oracle Instant Client et les binaires ODP ; l'ODP utilisera les fichiers OCI (instant client) s'ils sont accessibles. C'était la solution la plus simple et je suis content d'avoir résolu le problème aussi facilement, même si les informations nécessaires n'étaient pas facilement accessibles.
Avec les versions actuelles (du moins elles étaient à jour lorsque j'ai construit l'application pour la dernière fois), 11g, la combinaison d'ODP et d'OCI assurait la compatibilité avec les versions 9-11.
Maintenant, d'accord, OCI est assez gros (la version uniquement en anglais est plus petite à "seulement" 35 Mo si la mémoire est bonne), mais je devais vivre avec (le déploiement n'était pas un gros problème pour moi). De plus, j'avais une autre dépendance vis-à-vis d'une bibliothèque qui faisait déjà 50 Mo - la plupart dans des assemblages de sérialisation XML ! Ne me lancez pas...
J'espère que cela vous aidera !