Rejoindre oracle avec la table mssql

Quand j'exécute la ligne suivante, j'obtiens le résultat:

select * from my_table@link; 

Mais quand j'essaye de joindre la table liée avec d'autres tables comme dans select j'obtiens l'erreur qui indique "z.id – identificateur invalide"

 SELECT e.USER_NAME,e.FULL_NAME,r.RFC_NUMBER,r.TYPE, TO_CHAR(TRUNC(a.TOTAL_TIME/3600),'FM9900') || ':' || TO_CHAR(TRUNC(MOD(a.TOTAL_TIME,3600)/60),'FM00') || ':' || TO_CHAR(MOD(a.TOTAL_TIME,60),'FM00') as TOTAL_TIME, a.ASSIGN_DATE,a.TIME_START,a.TIME_STOP, r.SUBMITTED_BY,r.REGISTER_DATE,r.DESCRIPTION FROM table_a a JOIN table_r ON a.REQ_ID = r.REQ_ID JOIN table_e e ON e.emp_id = a.emp_id LEFT JOIN my_table@link z ON e.emp_id = z.id WHERE a.ASSIGN_DATE > '01-JAN-2013' and a.ASSIGN_DATE < '01-JAN-2015' ORDER BY r.RFC_NUMBER; 

table_a, table_r et table_e sont des tables oracle. table my_table est une table mssql accessible via un lien.

donc ma question est de savoir comment join les tables oracle avec table mssql liée?

D'après vos commentaires, le problème est que SQL Server utilise par défaut des noms de colonnes sensibles à la casse (des informations plus spécifiques peuvent être trouvées sur ce lien ), tandis qu'Oracle n'utilisera que des noms de colonnes sensibles à la casse. Par conséquent, si l' id colonne de votre table SQL Server est en minuscules, vous devrez utiliser des guillemets autour de ce nom de colonne dans Oracle, c'est-à-dire si vous ne placez pas de guillemets autour d'un nom de colonne dans Oracle. z.id searchra une colonne nommée ID alors que z."id" searchra une colonne nommée id précisément, cette ligne:

 LEFT JOIN my_table@link z ON e.emp_id = z.id 

devrait être ceci:

 LEFT JOIN my_table@link z ON e.emp_id = z."id" 

J'espère que cela t'aides.