2

私は 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 台だけが失敗しています。

4

2 に答える 2

1

間違いなく、問題は ADO コンポーネントに関連していました。コンポーネントのバージョンは 6.0 でしたが、6.1 にアップグレードすると問題は解決します。

于 2012-07-19T16:30:22.500 に答える
0

最後に、問題は Microsoft MDAC ADO コンポーネントとは関係ありません。問題は、この問題が発生したコンピューターに古いバージョンの Midas.dll がすべて含まれていることでした。その dll は、Delphi ClientDataset に関連しています。この問題は、サーバーの Midas.dll を同じバージョンのクライアントに置き換えることで修正されました。

于 2012-11-09T10:18:45.387 に答える