我用的开发工具是PowerBuilder8.0,实现的功能如下。把Excel表倒进Server a的sc_fcst_temp表里,倒进此表同时写了个触发器直接传到 Server b的sc_fcst表。
不过实现过程当中出现了问题,就是不写触发器的情况下可以把Excel的数据倒进表sc_fcst_temp里,但一旦写了触发器就到不进去,
SET QUOTED_IDENTIFIER ON 
GO
SET ANSI_NULLS ON 
GO
ALTER   TRIGGER [UNIERP].[FCST_INSERT] ON [UNIERP].[SC_FCST_TEMP] 
FOR  INSERT
AS
SET XACT_ABORT ON
BEGIN TRAN
insert into [SC_SERVER].[SC_TEST].[DBO].[SC_FCST] (
              ref_d,
ref_s,
ref_ms,
ref_m1,
fcst_week,
fcst_rev,
data_dfcst,
data_wfcst,
date_regist,
state_query,
fcst_tmp1,
fcst_tmp2,
fcst_tmp3,
fcst_flag,
fcst_trdate,
fcst_trdesc,
fcst_tmp4,
fcst_tmp5
)  select
        ref_d,
ref_s,
ref_ms,
ref_m1,
fcst_week,
fcst_rev,
data_dfcst,
data_wfcst,
date_regist,
state_query,
fcst_tmp1,
fcst_tmp2,
fcst_tmp3,
fcst_flag,
fcst_trdate,
fcst_trdesc,
fcst_tmp4,
fcst_tmp5
FROM inserted
COMMIT  TRANGO
SET QUOTED_IDENTIFIER OFF 
GO
SET ANSI_NULLS ON 
GO我再SQL里面直接用INSERT 往表sc_fcst_temp里插入了数据看了看,居然没有任何问题插入的同时可以往SC_SERVER表里导入进去,但是在Powerbuilder里往表
sc_fcst_temp里insert 的话它死活儿不进去 - -!
请可位帮我看看是不是那里不对了,本人刚接触代码。。都不是很了解,帮个忙

解决方案 »

  1.   

    先测试下面语句,看报错误不,应该会报..执行以前背份一下表insert into [SC_SERVER].[SC_TEST].[DBO].[SC_FCST] (
                  ref_d,
    ref_s,
    ref_ms,
    ref_m1,
    fcst_week,
    fcst_rev,
    data_dfcst,
    data_wfcst,
    date_regist,
    state_query,
    fcst_tmp1,
    fcst_tmp2,
    fcst_tmp3,
    fcst_flag,
    fcst_trdate,
    fcst_trdesc,
    fcst_tmp4,
    fcst_tmp5
    )  select
            ref_d,
    ref_s,
    ref_ms,
    ref_m1,
    fcst_week,
    fcst_rev,
    data_dfcst,
    data_wfcst,
    date_regist,
    state_query,
    fcst_tmp1,
    fcst_tmp2,
    fcst_tmp3,
    fcst_flag,
    fcst_trdate,
    fcst_trdesc,
    fcst_tmp4,
    fcst_tmp5
    FROM SC_FCST
      

  2.   

    是不是把identity列也插入了?
      

  3.   

    直接用sql语句把excel表中的数据能不能倒到SC_FCST里面呢?
      

  4.   

    1.这个表SC_FCST是不是有外键约束?
    2.这个字符串[SC_SERVER].[SC_TEST].[DBO].[SC_FCST],是不是表示SC_FCST在另外一台机器上?如果有另外一台机器上,是否已经建立好链接?
      

  5.   

    可能是权限问题:
    1.你的触发器有没有访问权限?
    2.你在SQL里向表中插入数据时运行触发器,是用的什么权限?
    3.Server b 服务器访问权限是什么?
    4.你用PowerBuilder连接Server a 服务器时用的什么权限?另外,尽量想办法获得错误信息.