1

D7 アプリを D2009 に変換していますが、Advantage データベース サーバー (ローカル) で問題が発生しました。パラメータ化されていないトルコ語の文字をクエリに含めるたびに、エラーが発生します

[iAnywhere Solutions][Advantage SQL][ASA] 
Error 5211: There is an error converting Unicode string to or from code page string.
Some Unicode characters cannot be converted to code page characters. 

次のように、コマンドで ansistrings を使用してみました。

AdsQuery1.SQL.Text:=AnsiString('SELECT something FROM sometable WHERE somefield=''somelocalçharaçterş'' ');

しかし、役に立たない。また、AdsConnection の AdsCollat​​ion 値を ANSI、OEM、TURKISH-1254 に設定しましたが、結果は同じでした。何か案は?

4

1 に答える 1

2

adslocal32.dll と同じディレクトリにある adscollat​​e.adt を見ていただけますか?

ヘルプ ファイルによると、この問題の考えられる原因は、adscollat​​e.adt の古いバージョンがサーバーによって読み込まれていることです。adscollat​​e.adt の 10.0 バージョンにはいくつかの追加の列があり、そのうちの 1 つは「UnicodeLocale」です。

adslocal.cfg の ANSI/OEM 設定は何ですか?

この「SELECT ::stmt.collat​​ion FROM system.iota」を実行すると、どのような結果になるでしょうか?

于 2012-04-09T23:17:08.237 に答える