私は Delphi XE でサービスを使用しており、クライアントから ClientDataset を受け取ります。ftWideText であるフィールドのタイプをチェックすると、システムはそのフィールドが ftBlob であることを検出します。その理由を理解するために、ClientDataset をファイルに保存したところ、このフィールドの定義でエラーのある XML が表示されました。私は得る:
<FIELD attrname="TEXTTEST" fieldtype="bin.hex" SUBTYPE="" SUBTYPE="WideText" />
正しい場合、属性 SUBTYPE が 2 回表示されます。
<FIELD attrname="TEXTTEST" fieldtype="bin.hex" SUBTYPE="WideText" />
この問題はサーバー上でのみ発生します。他は正常に動作します。Delphi、ADO、SQL Server の場合、どこに問題があるのかわかりません。
Web サービスを同じデータベースを使用する別のコンピューターに変更すると、すべて正常に動作します。コンピューターにインストールされているコンポーネントの ADO の問題だと思います。
更新: Windows 2003 Server コンピュータでも同じ問題があります。MDAC 2.8 SP2 (ODBC コンポーネント バージョン 3.526) を搭載した 2 台のコンピューターで、両方が失敗します。Microsoft SQLServer 2008 R2 をいずれかのコンピューターにインストールしたところ、問題は解決しました。問題を解決するには、SqlServer2008 で何がインストールまたは再インストールされるかを知る必要があります。どうやら ADO に関連しているようですが、現在、同じバージョンの ADO を搭載した 2 台のマシンがあり、1 台だけが失敗しています。