sql >> データベース >  >> RDS >> Oracle

Oracle/MSSQLで失敗するParameter.AsString-OracleでのParameter.Value2バイト文字

    動作しない理由は次のとおりです。

    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 として報告されています EmbarcaderoQualityPortalで。

    完全を期すために:他の回答で言及されているマッピングはアクティブではなくなったため、.Valueを使用してパラメーターへのアクセスを変更する必要があります。 .AsString.の代わりに



    1. MySQLトリガーの使用

    2. 中括弧とワイルドカードでエスケープするOracleテキスト

    3. SQLServerのCPUパフォーマンスの問題のトラブルシューティング

    4. PostgreSQL-リレーションが見つかりません。