如何使用...
在PowerBuilder(v9 +)中创建数据库连接池答案 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)
/ *声明为实例变量* /
/ * 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