CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  PowerBuilder >  数据库相关

如何用PB连接两个不同服务器上的数据库

楼主alienet()2002-04-22 14:28:08 在 PowerBuilder / 数据库相关 提问

因一个服务器负担太重,需将一部分数据放在另外一个服务器上,但在连接时却不知如何下手,请赐教。 问题点数:30、回复次数:10Top

1 楼shzwz(小石头)回复于 2002-04-22 15:01:56 得分 0

C/S端的管理系统似乎都是只有一个服务器,不支持负载均衡的。有两种方法解决:  
  1、升级你的服务器。  
  2、升级你的软件系统。用分布式的技术开发的多层应用系统吧!Top

2 楼kingdl(侠骨柔肠)回复于 2002-04-22 15:03:03 得分 0

请问是同时连接两个数据库吗?如果是的话可以使用分布式事务,主要和你使用的数据库类型有关,或者试试使用用户自定义事务。PB是事务驱动的,连接两个库,使用两个事务即可,关键是你是要怎样使用,是并行还是分布式数据库。下次提问请说的详细一些,有空去看看“提问的智慧”!!谢谢!!----侠骨柔肠Top

3 楼liuzxit(dotnetRGB.com)回复于 2002-04-22 15:14:39 得分 0

在我們連數據庫時﹐PB默認把事務定名為SQLCA,我們可以用以下代碼連接數據庫  
  SQLCA.DBMS   =   "ODBC"  
  SQLCA.AutoCommit   =   False  
  SQLCA.DBParm   =   "Connectstring='DSN=Depot'"  
  connect;  
   
  如果我們同時連兩個數據庫的時候就要多建一個事務﹐并取另一個名﹐同時對所有的用到該庫的連接都用該事務名﹐例如﹕  
  transaction   de_tmp  
  de_tmp=create   transaction  
  de_tmp.DBMS   =   "ODBC"  
  de_tmp.AutoCommit   =   False  
  de_tmp.DBParm   =   "Connectstring='DSN=Dep_tmp'"  
  connect   using   de_tmp;  
  這里的de_tmp就相當于上面的sqlca。  
  那么從上面的數據1讀數據可以這樣寫﹕  
  select   *   from   table_name1   [using   sqlca];  
  中括號部分省略就默認是對數據庫一操作  
  如果是從數據庫二讀數據就相應改成﹕  
  select   *   from   table_name1   using   de_tmp;  
  后面using部分必須寫上﹐其他的同樣道理﹐自己想想吧  
  Top

4 楼bys_home(我是天才)回复于 2002-04-22 15:30:45 得分 0

关注!!!Top

5 楼ldk(你的温柔其实如刀)回复于 2002-04-22 15:33:07 得分 0

用两个事务来处理Top

6 楼hanps()回复于 2002-04-22 15:48:19 得分 0

用两个事务,不过你的程序可能有一些要修改Top

7 楼bzlj(bzlj)回复于 2002-04-22 19:02:57 得分 0

一个服务器做日常处理,一个服务器做查询分析用,那样就不用改太多了。Top

8 楼alienet()回复于 2002-04-23 10:21:23 得分 0

多谢各位回复小弟的帖子,其实具体情况是:  
  我已经定义了另一个事务  
  i_teleoper_sqlca=create   transaction  
  其SQLCA属性中的ServerName为  
  i_teleoper_sqlca.ServerName   =ProfileStringinifile,"TeleOper","ServerName","   ")该值为blueboy  
  系统默认SQLCA属性中的ServerName为  
  SQLCA.ServerName   =ProfileString(inifile,"Database","ServerName","   ")  
  该值为zhangdong,当语句运行到新建的事务时sqlerrtext返回的信息是:A   SQLServer   request   resulted   in   a   bad   return   code   or   status   but   no   error   message   was   returned.而由sqldbcode返回的信息是999,该系统连接的数据库为sqlserver   6.5,请再指点迷津。Top

9 楼chdd(阿飞)回复于 2002-04-23 10:48:31 得分 30

你的文件写错了。  
  两个调用的ini文件怎么会是一个呢?Top

10 楼chdd(阿飞)回复于 2002-04-23 10:57:38 得分 0

还有,你在用第二个事务对象时,有没有把第一个事务对象断开呢?Top

相关问题

  • 如何用PB连接两个不同服务器上的数据库
  • 如何连接数据库服务器
  • 如何在不安装Oracle的情况下用Pb连接服务器上的Oracle数据库?
  • 急求web服务器连接sybase数据库服务器(高分100)
  • 中间层服务器为什麽必须安装数据库才能连接其他数据库服务器?
  • 如何将DELPHI连接UNIX服务器上的Oracle7数据库?
  • 用DAO可否连接服务器上的oracle数据库?
  • 关于多线程连接数据库服务器,急!100分
  • 如何连接另一个服务器上的数据库。
  • 如何用TCP/IP连接SQL数据库服务器?

关键词

  • 服务器
  • 数据库
  • 连接
  • pb
  • 系统
  • 數據
  • sqlca
  • 事务
  • teleoper
  • servername

得分解答快速导航

  • 帖主:alienet
  • chdd

相关链接

  • PowerBuilder类图书
  • PowerBuilder类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo