如何用PB连接两个不同服务器上的数据库
因一个服务器负担太重,需将一部分数据放在另外一个服务器上,但在连接时却不知如何下手,请赐教。 问题点数: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




