说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

在程序调用数据管道总是在start时返回Pipe open failed。

编辑:说三道四文库 发布时间:2018-04-23 02:13
HTML文档下载 WORD文档下载 PDF文档下载
1、数据管道在画板中能正常操作。
2、支撑用户对象我只是设置了dataobject,并且实例化正常。
3、源事务对象和目标事务对象连接正常。
拜托大家看看,还有什么我没考虑到。谢谢!
流斑竹,拜托给点建议好吗?
把代码贴上来看看
在窗口的declare中
transaction itrans_source,itrans_object
uo_sjdr iuo_sjdr

在窗口的open中
itrans_source = create transaction

itrans_source.DBMS = "MSS Microsoft SQL Server 6.x"
itrans_source.Database = "his_wxinfo"
itrans_source.ServerName = "server"
itrans_source.LogId = "sa"
itrans_source.AutoCommit = False
itrans_source.DBParm = ""

CONNECT USING itrans_source;

if itrans_source.sqlcode <> 0 then
   MessageBox("系统提示","连接源数据库失败!")
   return
end if

itrans_object = create transaction

itrans_object.DBMS = "MSS Microsoft SQL Server 6.x"
itrans_object.Database = "his_wlgl"
itrans_object.ServerName = "server"
itrans_object.LogId = "sa"
itrans_object.AutoCommit = False
itrans_object.DBParm = ""

CONNECT USING itrans_object;

if itrans_object.sqlcode <> 0 then
   MessageBox("系统提示","连接目标数据库失败!")
   return
end if

iuo_sjdr = create uo_sjdr

在数据导入的cb中
int li_start_result

li_start_result = iuo_sjdr.start(itrans_source,itrans_object,dw_1)

if li_start_result <> 1 then
   messagebox("系统提示","管道传输失败!" + string(li_start_result))
   return
end if

li_start_result总是返回-1

1、datapipe重建过。
2、uo_sjdr重建过。
3、在别人的机子上试过。
感觉很失败。
提前。
就真的没人给点建议吗?谁有例子能发给我看看吗?goldg@netease.com,先谢过!
找到问题了,uo_sjdr中定义了dataobject不行,我在iuo_sjdr = create uo_sjdr后加入一行
iuo_sjdr.dataobject = "dp_sjdr"马上就好用了,还是自己给自己加分吧。

sorry,我来晚了。
真正的原因是因为在运行时,没有将dataobject中的具体对象编译到PBD中,pipeline是不编译的。
在编程时没有问题,编译就出现问题了。
谢谢,不过我想把这个帖子结了,总是结不了。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘