【发布时间】:2017-02-09 10:48:17
【问题描述】:
我正在尝试将 blob 从一个数据库插入/更新到另一个数据库。我知道 Firebird 包含 EXECUTE STATEMENT (on external database)。但是,如果您尝试将 blob 插入/更新到外部数据库中,则它不起作用。
有人知道是否可以通过 EXECUTE STATEMENT 或任何其他建议来完成吗?
更新 1
文件大约 0.1MB 大
CREATE OR ALTER TRIGGER WSATTACHMENT_AI0 FOR WSATTACHMENT
ACTIVE AFTER INSERT POSITION 0
AS
BEGIN
EXECUTE STATEMENT('INSERT INTO wsattachment(id, filecontent) VALUES(' || NEW.id || ',' || NEW.filecontent || ')')
on external 'myDB.FDB'
as user 'SYSDBA' password 'pw';
END
我得到的错误:
"发生算术溢出或被零除。 算术异常、数值溢出或字符串截断。 转换为字符串时 blob 截断:超出长度限制。”
【问题讨论】:
-
blob 的内容有多大?您能否还包括您尝试过的代码以及您遇到的任何错误(如果有)?
-
@MarkRotteveel 我更新了我的问题。
-
两个数据库中的
filecontent是一个 blob 吗? -
@MarkRotteveel 是的,标记它。
-
您使用的是哪个 Firebird 2.5 版本?
标签: blob firebird firebird2.5