次のようなストアド プロシージャを実行しようとしています。
CallableStatement cs = this.con.prepareCall("{call getDeliveryConfirmations(?)}");
cs.setString(1, "545A6F33-A22A-47A6-AF97-0D952F2D80D7");
Resultset rs = cs.executeQuery();
ご覧のとおり、実行前に callable ステートメントに Guid/UniqueIdentifier をパラメータとして設定しています...しかし、callableStatement オブジェクトでメソッド 'setString' を使用していることもわかります。 m このエラーが発生します:
com.microsoft.sqlserver.jdbc.SQLServerException: 文字列から一意識別子への変換中に変換に失敗しました。
「setGuid」のようなメソッドや callablestatement オブジェクト用の何かがあれば、この問題は発生しないと思います...回避策などを知っている人はいますか?
編集:
ストアド プロシージャ「getDeliveryConfirmations」のコード
USE [VodacomXml2Sms]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
BEGIN
SET NOCOUNT ON;
select * from OutgoingDeliveryConfirmations
where smsGuid = @selectedGuid
END