クライアントまたはサーバーに日本語または繁体字中国語 EUC コード・ページが組み込まれている環境で アプリケーションがデータを処理する可能性がある場合に、 CONNECT ステートメントを正常に処理すると、重要な SQLCA の情報が戻されます。 SQLERRD(1) フィールドは、 アプリケーションのコード・ページからデータベース・コード・ページに変換するときに 混合文字ストリングを最大拡張します。 SQLERRD(2) フィールドは、 データベース・コード・ページからアプリケーション・コード・ページに変換するときに 混合文字ストリングを最大拡張します。 拡張が生じる場合の値は正で、短縮が生じる場合の値は負になります。 値が負の場合、短縮できず、変換後にストリングの全長が必要になる最悪の状況に備え、 値は常に -1 にしてあります。 正の値は 2 と同じ大きさになることがあります。これは、 変換後に文字ストリングのストリング長を 2 倍にする必要が生じるという最悪の状況に備えたものです。
アプリケーション・サーバーおよびアプリケーション・クライアントのコード・ページは、 SQLCA の SQLERRMC フィールドでも使用できます。
タイプなしパラメーター・マーカー (表 28 で説明されている) 用に決められたデータ・タイプは、 日本語または繁体字中国語 EUC を含む環境では変更されません。 その結果、ある場合、タイプ付きパラメーター・マーカーを使用して、 eucJP または eucTW の混合文字ストリングの十分な長さを提供することが必要になることがあります。 たとえば、CHAR(10) 列への挿入を考慮してください。 以下のステートメントを準備すると、
INSERT INTO T1 (CH10) VALUES (?)
その結果パラメーター・マーカーのデータ・タイプは CHAR(10) になります。 クライアントが eucJP または eucTW であった場合、 挿入するストリングを表示するのに 10 バイトより大きいバイト数が必要になることがありますが、 データベースの DBCS コード・ページでは 10 バイトを超えることはありません。 この場合、準備するステートメントには、 10 より大きい長さのタイプ付きパラメーター・マーカーが含まれている必要があります。 このため、以下のステートメントを準備すると、
INSERT INTO T1 (CH10) VALUES (CAST(? AS VARCHAR(20))
パラメーター・マーカーのデータ・タイプは VARCHAR(20) になります。