sql >> Database >  >> RDS >> Oracle

Parameter.AsString mislukt onder Oracle/MSSQL - Parameter.Value 2-byte tekens onder Oracle

Dit is de reden waarom het niet werkt:

In FireDAC.Stan.Option :

procedure TFDFormatOptions.ColumnDef2FieldDef()
...
dtWideHMemo:
  // Here was ftOraClob, but then will be created TMemoField,
  // which does not know anything about Unicode. So, I have
  // changed to ftFmtMemo. But probably may be problems ...
  ADestFieldType := ftWideMemo;

Inderdaad, waarschijnlijk kunnen er problemen zijn .

De oplossing is om een ​​toewijzingsregel toe te voegen die dtWideHMemo . converteert naar dtMemo .
Daarna lezen en schrijven naar de CLOB .AsString werkt prima.

Gerapporteerd als RSP-19600 in Embarcadero Quality Portal.

Voor de volledigheid:omdat de mapping vermeld in mijn andere antwoord niet meer actief is, moet je de toegang tot de parameters wijzigen met .Value in plaats van .AsString.



  1. Gemiddelde tijd om op bericht te reageren

  2. Na het installeren van de nieuwste versie van MySQL krijg ik de foutmelding:#1366 - Onjuiste integerwaarde:'' voor kolom 'group_id' op rij 1

  3. Een kolom verwijderen uit een tabel in MySQL

  4. Wat is de codeer(<kolomnaam>, 'escape') PostgreSQL-equivalent in Java?