问题描述
我正在尝试通过链接服务器从MS sql Server调用MysqL存储过程。 MysqL存储过程将插入包含longblob的记录(从MS sql Server作为VARBINARY(Max)传入。我不确定我的@myFile参数周围的引号是否正确。这是我从sql Server端:
EXEC('CALL InsertFiletest('+@ID+',"'+ @myName +'",'''+@myLocation+''',"'+ **@myFile** +'",' + '''2020-10-15 00:00:000''' +');') AT FILEX
我尝试在参数周围不使用引号,单引号,双引号并且没有运气,是否可以像这样传递VARBINARY(MAX)参数? `
DECLARE @ID INTEGER,@myName VARCHAR(200),@myLocation VARCHAR(200),@myFile VARBINARY(MAX),@insertDate datetime
DECLARE file_cursor CURSOR FOR
SELECT
fileID,CAST(name AS VARCHAR(200)),CAST(location AS VARCHAR(200)),CAST([file] AS VARBINARY(MAX))
FROM
cis_file
WHERE
fileid in
(
65502
)
--,65115,65116)
OPEN file_cursor;
FETCH NEXT
FROM
file_cursor INTO @ID,@myName,@myLocation,@myFile WHILE @@FETCH_STATUS = 0
BEGIN
EXEC('CALL InsertFiletest(' + @ID + ',"' + @myName + '","' + @myLocation + '","' + @myFile + '");') AT FILEX;
FETCH NEXT
FROM
file_cursor INTO @ID,@myFile
END
;
CLOSE file_cursor;
DEALLOCATE file_cursor;
}
MysqL存储过程
CREATE DEFINER=`ASIMysqLADMIN`@`%` PROCEDURE `InsertFiletest`(
IN fileID int,IN name VARCHAR(200),IN location VARCHAR(200),IN file longblob
)
BEGIN
INSERT INTO CIS_FILEX (name,location,file,fileID) VALUES ( name,fileID);
END
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)