将Firebrid数据库表中的记录插入到SQL Server表中

问题描述

我有一个使用Firebird(版本2.5)数据库的应用程序。我想将其中一个表条目触发到另一个sql Server 2008 R2数据库表中。当我提交时,出现以下错误

ErrorCode:335544569(ErrorMessage:动态sql错误sql错误代码= -104)。

代码

CREATE TRIGGER "trig_INV"
FOR "INVA"
ACTIVE
AFTER UPDATE
POSITION 100
AS
BEGIN
    IF ((updating) AND ((old.cold <> new.cold))) THEN
    BEGIN
        INSERT INTO 192.168.17.206/1043: [RBT].[dbo].[N_Inv]([COLA],[COLB],[COLC],[COLD],[COLE])
            SELECT FirsT 1 
                "COLA","COLB","COLC","COLD","COLE"  
            FROM "INVA" 
            ORDER BY COLA DESC

END

我不确定firebird触发器是否允许将记录推送到sql Server数据库。如果有人尝试过并提供参考,那将是很棒的。预先感谢。

解决方法

您收到该错误,因为您使用的语法在Firebird中不存在。除了Firebird,Firebird不支持连接到其他数据库系统(理论上,您可以编写一个允许连接到其他数据库系统的提供程序,但据我所知,实际上不存在)。

如果要同步到其他数据库系统,则需要编写UDF或UDR(替代Firebird 3中引入的UDF),或者编写提供同步的自定义应用程序,或者使用第三方软件来执行此操作(例如SymmetricDS)。