Cela semble être lié aux capacités du fournisseur sous-jacent et d'autres ont également rencontré des limitations de taille/ligne similaires. Une solution possible consisterait à implémenter une requête itérative/en boucle avec un filtrage intégré pour retirer une certaine quantité de lignes. Avec Oracle, je pense que cela pourrait utiliser le rownum (pas très familier avec Oracle).
donc quelque chose comme
--Not tested sql, just winging it syntax-wise
SELECT * FROM OPENQUERY(DWH_LINK, 'SELECT * FROM TABLEA where rownum between 0 AND 500')
SELECT * FROM OPENQUERY(DWH_LINK, 'SELECT * FROM TABLEA where rownum between 500 AND 1000')
SELECT * FROM OPENQUERY(DWH_LINK, 'SELECT * FROM TABLEA where rownum ...')
BOL: link Ceci est soumis aux capacités du fournisseur OLE DB. Bien que la requête puisse renvoyer plusieurs ensembles de résultats, OPENQUERY renvoie uniquement le premier.
est-il une autre façon d'accéder aux données d'un serveur lié autre que l'utilisation openquery – Bill