PowerBuilder数据库连接池?如何

时间:2008-09-22 17:27:36

标签: database connection-pooling powerbuilder

如何使用...

在PowerBuilder(v9 +)中创建数据库连接池
  • ... ODBC?
  • ... SQL Server?
  • ...甲骨文?

6 个答案:

答案 0 :(得分:3)

冒着自我推销的风险,这些可能会让您开始使用Oracle:

如果你转到Sybase Manuals(直观,嗯?),请转到您正在查看的版本的“连接到数据库”手册,搜索“池”可能会很有效。查看11.5的本地副本,我可以看到对SNC(MS)和ODBC的引用。

就“非本地”方法而言,我猜Jason可能一直指的是与应用服务器的连接池,然后通过它来获取数据。

祝你好运。

答案 1 :(得分:2)

不幸的是,至少在PB 9中,你不能本地。 PB一直是两层开发工具。但是,如果您正在使用从PB 9中启动的WebServices支持,则可以通过在连接池appServer上调用WebServices来解决此限制。我还没玩过PB 11.5但BTW。可能会有所不同。

杰森

答案 2 :(得分:1)

使用PowerBuilder版本9及更高版本使用Oracle本机驱动程序并连接到Oracle 9i及更高版本的数据库,您可以使用 CnnPool ='Yes'数据库参数告诉Oracle维护池中的连接:

PB 11.1文档中的其他信息: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc33820_1110/html/dbparm/BJEBJADI.htm

答案 3 :(得分:1)

我不相信

  

CnnPool = '是'

在PB 9中正式支持

我不确定大多数PB开发人员都熟悉如何处理池。

与我使用某些Java应用服务器的经验相比,ASP.Net的方法简单而直接。 (请不要在最后一句话上开始火焰战,我说过我的经历)。

我编写了一个“服务器”应用程序,它接收了为ds.retrieve()和ds.update()执行的PB数据存储,并将数据传递回客户端PB应用程序。这是一种汇集方式。服务器应用程序将打开多个连接...我在PB 8中做了这个(那里有一本书)。我不推荐这种方法......很多代码。

在PB 11.x中,您应该考虑一些很酷的新方法。

答案 4 :(得分:0)

@Jason Vogel ......

你说我不能本地 ...所以还有另一种方法可以做到吗?

答案 5 :(得分:0)

/ *声明为实例变量* /

n_to_server i_to_server //事务对象替代SQLCA,i_to_server是自定义名称,n_to_server

/ * Instatiate连接对象* /

i_to_server =创建交易 //在n_to_server

的实例变量中声明

i_to_server.DBMS =“ODBC”

i_to_server.AutoCommit = TRUE

i_to_server.DBParm =“ConnectString ='DSN = SourceServer; UID =用户名; PWD =密码'”

使用i_to_server连接;

SELECT @@ trancount INTO:li_TranCount

FROM sysobjects

WHERE name ='sysobjects'

使用i_to_server; //必须在未使用SQLCA(本机事务)的事务中使用USING