pb连接多个数据库 问题2

叔到用时方恨嫂 2011-11-10 02:07:40

用了yyoinge大哥的方法从远程数据源提取数据

CREATE VIEW dbo.view_report_mrecords
AS
select a.*,
b.search_no
from a
left join
( select * from openrowset
('SQLOLEDB','10.3.8.6';'user';'123',purchase.dbo.output_warehouse)
) as b on a.outwarehouseid = b.id

数据库是sql2000,表a是当前服务器中的表,表b是另外一个服务器(10.3.8.6)的purchase数据库中的表,
在查询分析器里语句通过,在数据窗口中的datasource调用的是上面的语句,在数据窗口界面里retrieve也有数据,但在登陆系统后,进入系统界面就弹出这问题。


原帖地址:传送门


...全文
210 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlj768 2011-11-10
  • 打赏
  • 举报
回复
我这里用sp_addlinkedserver我方式注册远程数据库,再通过在本地库建立一个视图,查询远程库的数据,如果想进一步提高效率,可以设立事务定时把视图数据传入本地一个新表中,在PB中操纵的都是本地库,但这种方式只能是查询远程库,如果要修改两个库资料PB中建立两个TRAN可能效果更好些。
根据你所说的问题,既然查询分析器里能够得到数据,应该不会是yyoinge所提到的原因引起的,建议换成ODBC连接方式试试,OLEDB貌似有时连接出现问题或部分功能不能用。
wag_enu 2011-11-10
  • 打赏
  • 举报
回复
[Quote=引用楼主 hefeng2011 的回复:]
数据库是sql2000,表a是当前服务器中的表,表b是另外一个服务器(10.3.8.6)的purchase数据库中的表,
在查询分析器里语句通过,在数据窗口中的datasource调用的是上面的语句,在数据窗口界面里retrieve也有数据,但在登陆系统后,进入系统界面就弹出这问题。

[/Quote]

另外,在设计DW 的时候有数据,说明应该是可以按照这个方法搞整的。
在程序中提取不到数据,LZ 再比较一下PB 的IDE 下的数据库画板里的当前连接的参数和你写在程序里的SQLCA 的连接参数是否一至,比如 autocommit 等。。。
wag_enu 2011-11-10
  • 打赏
  • 举报
回复
先在主数据库里搞个临时表,把别的服务器上的数据读写过来到该临时表后,再做连接查询。
yyoinge 2011-11-10
  • 打赏
  • 举报
回复
SQL需要开启分布式事务,至于怎样打开,你自己百度一下吧,我也没有弄过
yyoinge 2011-11-10
  • 打赏
  • 举报
回复

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧