请问存储过程中返回记录集包含BLOB 类型怎么处理?
我在vb中使用ado调用,提示数据类型不被支持,请问大家是怎么处理的?
代码如下(其中,pictureInfo为blob类型):
CREATE OR REPLACE PROCEDURE SA.GETCARDDETAILCELLSRS(cardID IN CHAR DEFAULT NULL,
cardType IN NUMBER DEFAULT NULL,
iniType IN NUMBER DEFAULT NULL,
RC1 IN OUT Omwb_emulation.globalPkg.RCT1) AS
cardID_ CHAR(9) := cardID;
cardType_ NUMBER(10, 0) := cardType;
iniType_ NUMBER(10, 0) := iniType;
StoO_selcnt INTEGER;
StoO_error INTEGER;
StoO_rowcnt INTEGER;
StoO_crowcnt INTEGER := 0;
StoO_fetchstatus INTEGER := 0;
StoO_errmsg VARCHAR2(255);
StoO_sqlstatus INTEGER;
BEGIN
OPEN RC1 FOR
SELECT a.*, b.pictureInfo
FROM sa.tb_CardDetailCell_TempDesign a, sa.tb_picture_info b
WHERE (a.pictureindex = b.pictureindex(+)) AND
(a.cardID = to_number(GETCARDDETAILCELLSRS.cardID_));
END GETCARDDETAILCELLSRS;
vb的调用如下:
Dim mcmd As New ADODB.Command
Dim mPara As New ADODB.Parameter
mcmd.ActiveConnection = cn
mcmd.CommandType = adCmdText
mcmd.CommandText = "{call sa.GetCardDetailCellsRs(?,?,?,{resultset 0,RC1})}"
With mcmd
Set mPara = .CreateParameter(, adChar, adParamInput, 9, m_CardID)
.Parameters.Append mPara
Set mPara = .CreateParameter(, adInteger, adParamInput, , m_cardType)
.Parameters.Append mPara
Set mPara = .CreateParameter(, adInteger, adParamInput, , m_iniType)
.Parameters.Append mPara
End With
Set trsDetailCellsRows.Source = mcmd
trsDetailCellsRows.Open