2012-03-07 20 views
1

類似のスキーマを持つ2つのデータベースを比較しています。どちらもユニコード文字をサポートする必要があります。 char無しOracleのChar Vs Byte

iは、両方のデータベースで同じテーブルを記述する場合、デシベル1がcharを持つすべてのVARCHARフィールドを示し、(例えば、varchar(20 char))しかしDB2示し、(varchar(20)

第スキーマは、1バイトのみをサポート/文字。

私はそのすべてが同じ両方のデータベースにnls_database_parametersv$nls_parametersを比較する。

いくつかのいずれかが、私に知らせてできました何がここの変化かもしれない?

+0

warchar2はvarcharではありませんか? –

+0

@San - 'v $ nls_parameters'のデータベースキャラクタセットは何ですか?データベースキャラクタセットは 'AL32UTF8'ですか?正確には何が問題なのですか? 'CHAR'と' BYTE'のセマンティクスは、どの文字が列に格納されるかには影響しません。特定の文字に応じて、列に格納できる文字の数に影響する場合があります。 –

答えて

3

NLS_LENGTH_SEMANTICSをチェックしましたか? CHAR/VARCHAR2タイプの場合、デフォルトをBYTEまたはCHARに設定できます。

これらのパラメータが両方のデータベースで同じ場合、明示的に指定してテーブルを作成した可能性があります。

関連する問題