Bonjour à tous.
Nous avons un problème avec une limite d'Access : celle des 255 champs au maximum pour une table (cf ici).
Nous avons une GROOOOOOSSE table d'un DatawareHouse sous Oracle qui a plus de 255 champs. Nous voudrions récupérer le 1er et le 256e dans une requête avec Access.
Or quand nous lions la table (Lier les Tables), il n'importe que les 255 premiers champs et donc ne nous affiche pas le 256e pour la requête avec l'assistant. Bon jusque là c'est normal, c'est sa limitation.
Maintenant, comment contourner ca ? Je précise qu'il n'est pas possible de toucher à la base Oracle, même pour créer une vue. Vu le volume il n'est pas envisageable d'aller chercher les données avec un ETL et de les ramener sur une base sur laquelle nous avons la main.
1) J'ai essayé de modifier la définition de la table liée à la main (pourquoi pas ?) mais c'est impossible. Alors la question : quand on rajoute/modifie un champ sur la table externe, comment on répercute la modification dans la table liée ? On supprime l'ancienne et on la ré-importe ? Il y a un assistant de "synchronisation" de la structure ?
2) J'ai essayé d'écrire ma requête en SQL directement, en me disant qu'il l'enverrait telle quelle au serveur et qu'il m'afficherait le résultat. Penses-tu ! Il m'a refusé ma requête et a considéré que ces champs 256+ étaient des "paramètres".
Alors si vous avez une solution pour contourner ça...
PS :
En écrivant ce post, une idée me germe dans la tête...
Bon les tables liées le sont VIA un lien ODBC.
SI je change le contenu de ce lien (dans l'Administration ODBC) et que je le fais pointer sur un serveur de test dans lequel j'aurai créé la même table que dans mon DWH mais avec seulement les champs qui sont intéressants.
Je n'ai qu'à lier cette table du serveur de test dans ma base Access. Puis re-changer l'IP de la source ODBC pour le serveur de production et pouf pouf, je peux récupérer les colonnes invisibles du serveur de production non ?
Je teste et je vous dit.
Partager