2011-10-11 39 views
0

我在尝试类似于下面的代码来创建一个数据管道,将数据从一个数据库迁移到另一个数据库。 管道在桌面应用程序中正常工作,但是当我将应用程序迁移到.net Web窗体应用程序以在Internet上使用时,管道不起作用。它返回错误代码“-1”(在桌面上,它返回1)。 有人能告诉我什么是问题,为什么它不能在互联网上工作?我正在使用Powerbuilder classic 12,在Windows XP/IIS 5.1上使用ODBC的Sybase Anywhere 12。PowerBuilder管道在Web应用程序中不起作用?

Transaction trans_source, trans_dest 

trans_source=CREATE Transaction 
trans_dest=CREATE Transaction 

trans_source.DBMS = "ODBC" 
trans_source.DBPARM = "ConnectString='DSN=db1;UID=dba;PWD=sql" 

trans_dest.DBMS = "ODBC" 
trans_dest.DBPARM = "ConnectString='DSN=db2;UID=dba;PWD=sql" 

connect using trans_source; 
connect using trans_dest; 

lp_Create=CREATE p_pipe 
lp_Create.DataObject="p_create_tableA" 

result_value = lp_Create.Start(trans_source,trans_dest,dw_errors) 
messagebox("result", result_value) 

回答

1

WebForms中不支持流水线。 (外部参照Deploying Applications and Components to .NET

祝你好运,

特里。

+0

感谢您的回答。有没有其他的方法可以将数据从一个数据库传输到另一个数据库? – user966585

+0

请记住连接只在服务器端,所以我不确定为什么你想在WebForms应用程序中使用它。我首先看一下DBMS特定的解决方案(iAnywhere有一些很好的解决方案;你没有提到你正在使用哪个DBMS)。如果您必须在PB中执行此操作,并且无法将其转换为服务器上的独立本机应用程序,则两个DataStore会连接到两个单独的事务中,然后将其复制到另一个事务中并进行更新。我已经看到它一般地完成了(查询列列表,查询哪些列是关键的,等等)。 – Terry

相关问题