sql >> Database teknologi >  >> RDS >> Oracle

Parameter.AsString fejler under Oracle/MSSQL - Parameter.Value 2-byte tegn under Oracle

Her er grunden til, at det ikke virker:

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

Faktisk kan sandsynligvis være problemer .

Løsningen er at tilføje en mapping-regel, der konverterer dtWideHMemo til dtMemo .
Derefter kan du læse og skrive til CLOB .AsString fungerer fint.

Rapporteret som RSP-19600 i Embarcadero Quality Portal.

For fuldstændighedens skyld:fordi kortlægningen nævnt i mit andet svar ikke længere er aktiv, skal du ændre adgangen til parametrene med .Value i stedet for .AsString.



  1. rake db:create throws databasen eksisterer ikke fejl med postgresql

  2. CodeIgniter indsætter to gange den samme post. I nogle tilfælde

  3. .NET Oracle administreret dataadgang pooling fungerer ikke eller er langsom

  4. Brug af tidszoner i en PHP-webapplikation