データベースとしてOracle 9iを使用する従来のASPアプリケーションで奇妙な問題が発生しました。最近、DBAにVARCHAR2フィールドのサイズをVARCHAR2(2000)からVARCHAR2(4000)に増加させました。問題は、挿入された文字列が2000文字を超えていても、NULLバイト(ASCII:0)が文字列の2001文字位置に挿入されることです。たとえば、アプリケーションが新しい文字列を2500文字の文字列で表に挿入すると、2501文字がVARCHAR2フィールドに格納され、NULLバイトが2001文字位置に挿入されます。 NULLバイトは、データベースに保存されたオリジナルの投稿データの一部ではなく、私たちに悲しみを引き起こしています。あなたの誰かがこのような何かを見つけましたか?アプリケーションがMSDAORA ODBCドライバを使用していて、ドライバがNULL文字を文字列バッファに追加していると考えています。には2000文字の内部制限があります。Oracleはvarchar2文字列にNULLバイト(ASCII:0)を追加します
アイデア?
ありがとうございました。
お返事ありがとうございます。原因は「Oracle for Microsoft ODBC」ドライバでした。アプリはMSDAORAを使用していませんでした。 Oracle 10gドライバを使用するようにODBC DSNを再設定すると、問題が解決されました。 –