我用的开发工具是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 的话它死活儿不进去 - -!
请可位帮我看看是不是那里不对了,本人刚接触代码。。都不是很了解,帮个忙
不过实现过程当中出现了问题,就是不写触发器的情况下可以把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 的话它死活儿不进去 - -!
请可位帮我看看是不是那里不对了,本人刚接触代码。。都不是很了解,帮个忙
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.这个字符串[SC_SERVER].[SC_TEST].[DBO].[SC_FCST],是不是表示SC_FCST在另外一台机器上?如果有另外一台机器上,是否已经建立好链接?
1.你的触发器有没有访问权限?
2.你在SQL里向表中插入数据时运行触发器,是用的什么权限?
3.Server b 服务器访问权限是什么?
4.你用PowerBuilder连接Server a 服务器时用的什么权限?另外,尽量想办法获得错误信息.