0
votes

ORDS 18.4 Pourquoi ai-je un vide: body_text (CLOB)?

Dites-moi, s'il vous plaît, pourquoi la valeur vide vient-elle? Pour envoyer une requête, j'utilise SoapUI 5.5.

Mais : body n'est pas nul.

Dois-je faire quelque chose dans les paramètres d'ORDS?

DECLARE
    --b_body BLOB := :body;
    c_body CLOB := :body_text;
BEGIN
    if :body_text is null then
    htp.print('EMPTY');
    end if; 
END;


0 commentaires

3 Réponses :


0
votes

Si je me souviens bien, ce n'est pas une bonne idée d'utiliser les deux liaisons dans un bloc de code ... Si ORDS vérifie que vous utilisez: body,: body_text n'est pas renseigné (je pense qu'en raison des performances globales de conversion d'un blob en clob).

Alors utilisez simplement: body_text et ça devrait aller!


0 commentaires

0
votes

Ce symptôme peut résulter de la création de services RESTful via d'anciennes versions de l'interface APEX SQL Workshop. APEX 5.1 présente certainement ce comportement, peut-être d'autres. Si vous ne parvenez pas à mettre à niveau APEX, utilisez SQL Developer pour créer vos modules ORDS.


0 commentaires

0
votes

Comme indiqué dans la documentation https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/18.3/aelig/implicit-parameters.html# GUID-76A23568-EA67-4375-A4AA-880E1D160D27 , pour chaque paramètre implicite: body et: body_text " s'il est déréférencé plus d'une fois, alors la deuxième et les suivantes déréférences apparaîtront vides. "

Alors, changez votre code comme ceci:

DECLARE
    --b_body BLOB := :body;
    c_body CLOB := :body_text;
BEGIN
    if c_body is null then
    htp.print('EMPTY');
    end if; 
END;


0 commentaires