リンクサーバーの文字エンコードの問題がどこから発生しているのかを理解するのに苦労しています。 DUMPで示されているように、ZPDT_PAT_ALPHA列の最後に度の記号が必要です。
SELECT *, CHAR(176)
FROM OPENQUERY([R_Pronto], 'SELECT DUMP(ZPDT_PAT_ALPHA), ZPDT_PAT_ALPHA
FROM LINKED.ZCUSPRODATTR0')
NLSパラメータは次のとおりです。 NLS_LANGはレジストリ「AMERICAN_AMERICA.WE8MSWIN1252」に設定されています
Microsoftを使用したリンクサーバー設定OLE DB Provider for ODBC Drivers
特殊文字を正しく表示するために何を調整できるかについてのポインタを感謝します。残念ながら、変更を加えるためにOracle DBにアクセスできません。
このDBの上にあるアプリケーションは、文字を表示することができます-私はそれがOracleと直接インターフェースしていると思います。
ありがとう
投稿したNLSパラメータは、Oracleクライアント接続用です。実際にOracleクライアントを使用しているわけではないので、それらが関連することはないと思います。 (デフォルト値のように見えます。)データベースの文字セットを確認するには、次のコマンドを実行します。
nLS_DATABASE_PARAMETERSから値を選択します。ここで、parameter = 'NLS_CHARACTERSET'
それがOracleの最近のバージョンである場合、「AL32UTF8」、つまりUTF-8と表示されることを期待します。
もしそうなら、あなたの問題はUTF-8を変換しようとしているのでしょうか? nvarcharはUCS-2として格納されます。適切なテスト環境がないため、コードを記述できませんが、次のようなものがあります。
declare @result nvarchar(255);
set @result = (select... )
シングルトン選択であると仮定します。 nvarcharとして明示的なキャストを試してみませんか? SQL Server 2019はいくつかのUTF-8サポートを備えていますが、まだ使用していません。
HTH