0

ADO を使用して SQL Server の TEXT 列にテキストを挿入すると、次のエラーが発生します。

コード ページの変換は、テキスト データ型ではサポートされていません。開始: 1257 終了: 1252.

Windows コード ページを 1257 (エストニア語) に変更したことは事実です。

私の質問は次のとおりです。SQL Server は、実行中のコード ページをどのように認識しますか?

サーバーとの間で送受信されるすべての文字列は、ワイド (Unicode) 文字列として送信されます。サーバーでは、SQL Server は Unicode 文字列を(NTEXT ではなく) TEXT列に強制的に詰め込みます。テキスト列は、照合コード ページ1252を使用するように設定されています。

ソース文字列に、Windows 1252 コード ページの外部にある文字はありません。あったとしても、SQL Server はコード ページ1257を実行していることをどのように認識しますか?

SQL Server への接続をプロファイリングしようとしましたが、クライアントがコード ページをサーバーと識別しているようには見えません。

4

1 に答える 1

1

私が正しくないことを願っています。これは SP3 以前の SQL Server 2000 です...

SP3 で修正されました。KB 317956を参照してください。

于 2009-12-15T20:27:26.973 に答える