2011-11-02 10 views
2

こことWeb上で検索した後、最終的に質問を投稿することにしました。私はSQL 2000サーバーを実行しており、Oracle 9iサーバーをリンクしています。クエリを実行したり、OPENQUERYアプローチを使用してOracle Linked Server(Microsoft OLE DBドライバとOracle OLE DBドライバの両方を使用)との間で更新および挿入する場合も、すべて正常に動作します。 問題は、コードを少しきれいにするために、私は自分のクエリに4つの部分名を使いたいということです。私は他のSQLリンクされたサーバーを照会するときにもこれをやっています。リンクサーバーを設定するためにOracleサーバーの照合順序を取得する方法

しかし、私は、私はこのエラーを取得する4つの各部の名称を使用して、Oracleに対してクエリを実行します(私はスペイン語からのエラーメッセージを翻訳しています別の英語のIDでおそらく元のメッセージを)

ERROR:OLE DB「MSDAORA 'は無効な列定義を返しました。 エラーコード:7318

これはおそらく、リンクされたサーバーのプロパティに正しい照合名が設定されていることに関連していることがわかりました。

今...私は、Oracleの専門家ではないですので、私は、照合は、私は、Oracleで使用して接続スキーマが何であるかを確認する必要があり(アプリを...はい、私は私が知っている、知っている...)

したがって、よくある質問は、Oracleがどのような照合順序を使用しているかを確認する方法です。 Toad経由でOracleサーバーにアクセスできます...これを見つけるために実行できるクエリはありますか?

ありがとうございます!

答えて

0

私はあなたがこれらのビューから見つけることができますNLSの設定、探していると思う:

  • V $ NLS_PARAMETERS - データベースを使用して作成されたもの - 「現在値」
  • NLS_DATABASE_PARAMETERS。
  • NLS_INSTANCE_PARAMETERS - 複合、プラスALTER SESSION
  • Vの$ PARAMETER - - このたくさんのを変更したシステムパラメータ、(原料のすべての種類が含まれています)

ALTER SYSTEMによって変更

  • NLS_SESSION_PARAMETERSからドキュメントはここでは欠けている(または、おそらく、私は適切なドキュメントを見つけることができなかった)が、これはあなたが望むものを得る必要があります。

    これらのビューの一部を読むには、おそらくSYSDBAとしてログインする必要があります。

  • +0

    こんにちは...お返事ありがとうございます。 私はすでにこれを試しましたが、Toadを介してそれらのパラメータにアクセスしています...残念なことに私はここで私が探しているものを見つけることができません... これは[スクリーンショット](http://dl.dropbox.com/u /5654637/imagenes/NLS.png)を取得します。 ご覧のとおり、照合の問題に関連する可能性がある2つのパラメータは、** NLS_CHARACTERSET:WE8ISO8859P1 **と** NLS_NCHAR_CHARACTERSET:AL16UTF16 ** – jprealini

    +0

    です。これらのいずれかがある場合は、 SQLでリンクサーバーを設定すると、[選択リスト](http://dl.dropbox.com/u/5654637/imagenes/collat​​e.png)に表示されている照合名と同じです 多分私は行方不明です何か...他のヒント? ありがとう – jprealini

    +0

    @jprealini:Latin1(ISO 8859-1)と照合順序([NLS_SORT、NLS_COMP](http://download.oracle.com/docs/cd/B19306_01/server)を使用しているようです。 102/b14225/ch3globenv。htm#sthref362))はバイナリです。それがSQL Serverにどのようにマップされているかわかりません。 – derobert

    関連する問題