1

JDBC アプリケーションを作成しています。私の仕事は、SQLサーバーからデータを取得して暗号化し、別のテーブルにvarbinaryフィールドとして保存することです。10 進数フィールドを除くすべての SQL データ型をバイナリに正常に変換しました。

getBytes()この10進数フィールドのバイトを取得するためにJDBCのメソッドを使用しています。しかし、受信しているバイトは有効なバイトではありません。たとえば、10 進数を 2 進数に変換する 1 つのクエリを SQL で実行しています。

declare @deci decimal(18,2)
set @deci = 2.33
print cast(@deci as varbinary)

結果として -- 0x12020001E9000000(アプリケーションが正しく動作するためには、JDBC 側でこのバイナリが必要です): (5 バイト)

しかし、JDBC側では(同じ値に対して)バイトを取得します- 2,1,-23,3,0(5バイト)(各バイトの値を出力しています)

誰でも違いを理解するのを手伝ってもらえますか?? これらの JDBC バイトを上記に変換する方法varbinary

前もって感謝します

4

0 に答える 0