谁做过用PB连接两个数据库的东西吗

gwly 2003-11-14 06:39:09
现在我的PB要连接两个数据库,要从两个数据库里取东西,我现在不知道,要怎么去连接两个数据库呢?希望能帮助!
...全文
164 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
roselu 2003-11-19
  • 打赏
  • 举报
回复
关注
gwly 2003-11-17
  • 打赏
  • 举报
回复
多谢大家,
myf7961 2003-11-16
  • 打赏
  • 举报
回复
我来迟了,但还是要分,楼主要发分的,不然以后没人回答你的问题了!!汗ing
TGWall 2003-11-16
  • 打赏
  • 举报
回复
我来迟了,楼上各位已经说得很具体了
为大家的热情感到高兴^_^^_^
zhoufenghubei 2003-11-16
  • 打赏
  • 举报
回复
用两个事务,每一个事务连一个事务!我现在就是这样做的!一个连数据数据库,一个连系统库!不过建议不要用过多的事务,这样会占用不少系统资源!
lypch 2003-11-16
  • 打赏
  • 举报
回复
如果是在同一个服务器上面的,根本就没有那么复杂,直接用“数据库名..表名”引用就可以了。
molder 2003-11-16
  • 打赏
  • 举报
回复
我同时定义过六个数据库事物,运行正常,没问题!
qqjj7758 2003-11-15
  • 打赏
  • 举报
回复
理解了事务这东东 你可以连接n个数据库
baiyga 2003-11-15
  • 打赏
  • 举报
回复
你可以建一個數據庫連結對象啊!

transaction objectname

objectname=create transaction

然後把數據庫連結語句中的sqlca 改成objectname

注意連結那裡還要改成connect using objectname

ropriest 2003-11-14
  • 打赏
  • 举报
回复
创建事务的方法一般也可以用来处理两个数据库的问题,如数据的相互拷贝(用管道),或者连一个数据库,对另一个数据库的表单独操作也可以,只要在sql后写上Using lst_sqlca即可。

不知能不能用创建事务的方法来关联两个数据库中表的某些字段,并用于查询、统计?
ropriest 2003-11-14
  • 打赏
  • 举报
回复
如果创建数据窗口,可以先连接一个数据库A,选择其中所要用的表,然后再断开该数据库A的连接,连接另一个数据库B,然后添加所要用的表,设置好以后,转换成语法格式,将表名用a,b,……替换,在不是当前sqlca连接数据库的表前加上如(B..),然后再连回数据库A即可。
gxhmsy 2003-11-14
  • 打赏
  • 举报
回复
还有,在使用SQL时,最后最好加上USING SQLCA 或 using data_b
gxhmsy 2003-11-14
  • 打赏
  • 举报
回复
声明一个全局变量:
  transaction data_b
在窗口open()事件或应用程序开始时:
 data_b=create transaction

data_b.dbms = 'MSS MSS Microsoft SQL Server 6.x'
data_b.Database = 'db_name'
data_b.LogId = 'log_in'
data_b.ServerName = 'server_name'
connect using data_b;
if data_b.sqlcode<>0 the
messagebox("",".......")
retun
end if


//另一个数据库采用默认的事务对象SQLCA
sqlca.dbms = 'MSS MSS Microsoft SQL Server 6.x'
sqlca.Database = 'db_name'
sqlca.LogId = 'log_in'
sqlca.ServerName = 'server_name'
connect using sqlca;
if sqlca.sqlcode<>0 the
messagebox("",".......")
retun
end if



另外在结束程序时,别忘了在CLOSE事件中
  DISCONNECT USING SQLCA;
  DISCONNECT USING data_b;
lmby 2003-11-14
  • 打赏
  • 举报
回复
用sqlca连接一个,另外创建个事务:

transaction ltr_local

ltr_local = create transaction
ltr_local = CREATE transaction

ltr_local.dbms = 'MSS MSS Microsoft SQL Server 6.x'
ltr_local.Database = 'db_name'
ltr_local.LogId = 'log_in'
ltr_local.ServerName = 'server_name'


//After this, u can use the new transaction
连一个数据库:update using sqlca;
连另一个数据库:commit using ltr_local;
等等
mittee 2003-11-14
  • 打赏
  • 举报
回复
用两个事务对象,这个好理解
ropriest 2003-11-14
  • 打赏
  • 举报
回复
连接一个数据库A,将另一个数据库B的表、存储过程等授权给A的用户。
在需要访问数据库B时,在表、存储过程等前面加上B..如:

select a.col1,
a.col2,
a.col*,
b.col4,
b.col5
from tab_1 a,B..tab_1 b
where 子句

其中A、B为数据库名

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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