Bonjour,

Je souhaite compiler des données ORACLE avec des données SQL SERVER.
J'utilise pour cela un serveur lié avec le fournisseur OraOLEDB.Oracle.

J'ai crée avec SQL Developer une vue limitant le nombre d'enregistrements présents dans la table FACTURE de ma base ORACLE.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
CREATE OR REPLACE VIEW V_FACTURE AS
SELECT * 
    FROM DEMO.FACTURE_CLIENT
    WHERE DATE_FACTURE >= TO_DATE('01/08/2022')
    ;
Lorsque je consulte le résultat de cette (SELECT * FROM V_FACTURE), j’obtiens avec SQL Developer le résultat attendu avec uniquement les enregistrements attendus, c'est à dire les factures postérieurs au 1er aout 2022.
Lorsque je consulte le résultat de cette même vue depuis SQL Management STUDIO (SELECT * FROM SRV_ORACLE..DEMO.V_FACTURE), j’obtiens tous les enregistrements de la table FACTURE_CLIENT. Il faut filtrer les enregistrements au niveau de SQL server pour obtenir le même résultat qu'avec SQL Developer (SELECT * FROM SRV_ORACLE..DEMO.V_FACTURE WHERE DATE_FACTURE>='01/08/2022').

Si j'utilise une autre condition WHERE qui n'est pas basée sur une date, les enregistrements obtenus sur SQL Developer sont alors cohérents avec les enregistrements obtenus avec SQL Management STUDIO.

Le problème me semble donc lié à l'utilisation de la clause WHERE sur les dates.

Mais je suis surtout surpris d'avoir plus d'enregistrements avec SQL Management STUDIO qu'avec SQL Developer en pointant sur la même vue V_FACTURE !

Quelqu'un a-t-il une explication ?

Merci d'avance.