Oracle
 sql >> база данни >  >> RDS >> Oracle

Parameter.AsString се проваля под Oracle/MSSQL - Parameter.Value 2-байтови знаци под Oracle

Ето причината да не работи:

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

Наистина, вероятно може да има проблеми .

Решението е да добавите правило за съпоставяне, което преобразува dtWideHMemo към dtMemo .
След това четене и писане в CLOB .AsString работи добре.

Докладвано като RSP-19600 в портала за качество на Embarcadero.

За пълнота:тъй като картографирането, споменато в другия ми отговор, вече не е активно, трябва да промените достъпа до параметрите с .Value вместо .AsString.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ИЛИ База данни/Въведете в Oracle Express/SQL Developer

  2. Има ли някакъв начин да ускоря следното вмъкване(я)?

  3. формат интервал с to_char

  4. атомно сравняване и размяна в база данни

  5. SQL - Връща редове с повечето съвпадения на колони