sqlserver触发调用oracle存储过程提示字段类型不对;检查发现是图片类传输错误,如下是sqlserver触发器及oracle存储过程;请问一下这个问题怎么处理;谢谢
sqlserver触发器
USE [ps_tr_pic]
GO
/****** Object: Trigger [dbo].[O_IMA_blob_hash] Script Date: 10/26/2020 08:17:04 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER trigger [dbo].[O_IMA_blob_hash]
on [dbo].[blob_hash] instead of insert --插入触发
as --定义变量
declare
@hash_value nvarchar(50), --hash_value
@hash_blob varbinary(max), --图片类容
@pic_name nvarchar(50), --图片名称
@hz nvarchar(50) --后缀名
--@sl_30 NUMERIC(20,5), --物料尺寸长
declare @V_NAME nvarchar(20);--返回参数
BEGIN
select @hash_value = hash_value, @hash_blob = hash_blob ,@ins_date = GETDATE()
from Inserted ; --亿星表
set xact_abort ON
EXEC('begin TEST_INSERT_TC_GCB(?,?,?);END;',@hash_value,@hash_blob,@V_NAME output) at TT;
PRINT '已经成功处理记录!'
END
print '发送信息成功!';
oracle存储过程
CREATE OR REPLACE PROCEDURE TEST_INSERT_TC_GCB(
tc_gcb01 in VARCHAR2, --yx料号
--tc_gcb04 in VARCHAR2, --文件名称
--tc_gcb05 in VARCHAR2, --文件类型
tc_gcb07 IN BLOB, --文件类容
--tc_gcb08 IN VARCHAR2,
v_name OUT VARCHAR2
)
IS
BEGIN
INSERT INTO tc_gcb_file(tc_gcb01,tc_gcb07 ) VALUES
(tc_gcb01,tc_gcb07 );
if SQL%Found THEN
v_name := '1';
else
v_name := '0';
dbms_output.put_line('v_name'|| v_name );
end if;
END;