[SQL Server]メッセージ 468、レベル 16、状態 9、照合順序の競合を解決できません。

[スポンサードリンク]

テーブル結合時などの照合順序の相違によるエラー

エラーメッセージ

メッセージ 468、レベル 16、状態 9、行 159
equal to 操作の “Japanese_CI_AS” と “Japanese_BIN2” 間での
照合順序の競合を解決できません。

コードの例(例えば)

原因

「売上テーブル」と「商品マスタ」の照合順序が違うため、商品コードを比較できない。

例えば、片方がSQL Serverのテーブルで、結合する側がOracleのテーブルをリンクサーバー経由、または他のSQL Serverのデータベースで、それぞれの照合順序が合っていない場合に起こる。

解決法

「COLLATE」を使用して、二つのテーブルの照合順序をどちらか一方に合わせる。

結合条件のあとの「COLLATE Japanese_BIN2」は今回の例でいえば「COLLATE Japanese_CI_AS」でも可。
エラーメッセージに書かれている照合順序のどちらかに合わせれば良い。

このようなコードをつけ足して対応するのは、本来良くないが、大規模なシステムで、このようなデータベースの作りになっているのなら、あきらめるしかない。

他にも、データベースに変更があってその変更済みのデータベースをもらうたびにそのテーブルだけ照合順序が違い。どちらかに合わせてくれと再三お願いしても逆切れされてあきらめてテーブルを作り直す場合もある。

[スポンサードリンク]

関連記事

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


ピックアップ記事

  1. 開始日と終了日にブランクを設定した場合の記述にも対応 (さらに…)…
  2. C言語のprintf関数でよく用いられるエスケープシーケンスを表すバックスラッシュ「\」の入力方法は…
  3. あいまい検索での否定 ○○以外の書き方 あいまい検索での否定は「[^任意の文字・文字列]…
  4. リモートデスクトップ接続のサーバーで、スタートメニューが反応しなくなった場合 (さらに&hell…
  5. いまの時代、一つの企業に就職してそこで定年を迎えるというのはまれです。 しかし、それが一番いいと私…

カテゴリー

[スポンサードリンク]




ページ上部へ戻る