sql >> Databáze >  >> RDS >> Oracle

Parameter.AsString selže pod Oracle/MSSQL - Parameter.Value 2bajtové znaky pod Oracle

Zde je důvod, proč to nefunguje:

V 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;

Ve skutečnosti pravděpodobně mohou být problémy .

Řešením je přidat pravidlo mapování, které převede dtWideHMemo na dtMemo .
Poté čtení a zápis do CLOB .AsString funguje dobře.

Nahlášeno jako RSP-19600 na Embarcadero Quality Portal.

Pro úplnost:protože mapování uvedené v mé druhé odpovědi již není aktivní, musíte změnit přístup k parametrům pomocí .Value místo .AsString.



  1. Jaké jsou osvědčené postupy pro samoaktualizaci aplikací PHP+MySQL?

  2. Hledání chybějících dat v sekvenci

  3. Jak omezíte skupinu podle řádků v dotazu mysql?

  4. Je třeba vytáhnout poslední x počet řádků na základě data