Bonjour,

J'ai un serveur Oracle 11gr2 et un serveur SQL serveur 2012. J'accède à SQL server Via Oracle (DG4ODBC) par un dblink . J'arrive à lire et écrire dans les tables sql server sans aucun soucis.
mais je n'arrive pas à lire les séquences sql server.

exemple pour une lire une table: select mysqlcolumn from mysqltable@myoraclelink ça marche.

exemple pour une séquence : select nextval from sqlsequence@myoraclelink ça ne marche pas.

Pour contourner le problème je veux utiliser DBMS_HS_PASSTHROUGH comme ci-dessous.


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
DECLARE
  l_Cursor Binary_Integer;
  R_sql VARCHAR2(200);
  Res_Out Binary_Integer;
BEGIN
    R_sql:='SELECT NEXT VALUE FOR sequencesqlt';
    L_Cursor := DBMS_HS_PASSTHROUGH.OPEN_CURSOR@myoraclelink;
    DBMS_HS_PASSTHROUGH.PARSE@myoraclelink(l_Cursor, R_sql);
    BMS_HS_PASSTHROUGH.Get_Value@myoraclelink(l_Cursor, 1, R_sql);
    DBMS_OUTPUT.PUT_LINE('R_sql');
    DBMS_HS_PASSTHROUGH.CLOSE_CURSOR@myoraclelink(L_Cursor);
END;
/
J'ai une erreur de type

ORA-28552: PassThrough SQL : erreur de flux d'appels
ORA-06512: à ligne 8
Je sèche pour l'instant, merci pour votre aide.