1

私はこの問題で 2 日間ずっと頭を壁にぶつけていて、私の vbscript/ado は非常に錆びています。

レガシー製品を継承しました。一部のデータを保存する前に基本的な暗号化を実行するメソッドと、データベースからデータを読み取るときに復号化するメソッドが含まれています。

暗号化された値を画面にダンプし、暗号化された値を元の値に復号化できます。

問題はデータベースです。

このデータをストアド プロシージャに送信しようとすると、一部の文字が文字 # 65533 (疑問符の付いたひし形) に置き換えられます。復号化メソッドがこのデータを取得すると、これらの奇妙な文字をどう処理するかわかりません。

私はそれがnvarcharフィールドであることを示していますadVarWChar

Set cmd = Server.CreateObject("ADODB.Command")

cmd.CommandType = adCmdStoredProc
cmd.CommandText = "_sp_InsertData"
cmd.ActiveConnection = DefaultConnectionString

cmd.Parameters.Append cmd.CreateParameter("@somevariable", _
adVarWChar, _
adParamInput, _
255, _
MethodThatReturnsUnicodeDataThatDumpsToTheScreenJustFine())

cmd.Execute

また、暗号化されたデータをフィールドに貼り付けることで、Sql Server Management Studio を介してストアド プロシージャを実行でき、問題なく動作します。復号化メソッドは、何をすべきかを正確に認識しています。

4

1 に答える 1