2

如何在 PowerBuilder (v9+) 中使用...建立数据库连接池

  • ...ODBC?
  • ...SQL 服务器?
  • ...甲骨文?
4

6 回答 6

3

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

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

至于“非本地”方法,我猜 Jason 可能指的是与应用程序服务器建立连接池,然后通过它获取数据。

祝你好运。

于 2008-09-26T02:28:01.803 回答
2

不幸的是,至少在 PB 9 中,你不能原生. PB 一直是一个两层的开发工具。但是,如果您使用的是从 PB 9 开始的 WebServices 支持,您可以通过在连接池 appServer 上调用 WebServices 来绕过此限制。顺便说一句,我还没有玩过 PB 11.5。那里可能会有所不同。

杰森

于 2008-09-22T19:39:54.120 回答
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

于 2008-10-01T15:53:54.683 回答
1

我不相信

CnnPool='是'

在 PB 9中得到正式支持。

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

至少与我使用一些 Java 应用程序服务器的经验相比,ASP.Net 的方法简单直接。(请不要对最后一句话发动激烈的战争,我说的是我的经验)。

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

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

于 2008-10-14T20:47:07.560 回答
0

@杰森沃格尔...

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

于 2008-09-23T11:37:55.517 回答
0

/* 声明为实例变量*/

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

/* 实例化连接对象*/

i_to_server = CREATE transaction //在n_to_server的实例变量中声明

i_to_server.DBMS = "ODBC"

i_to_server.AutoCommit = TRUE

i_to_server.DBParm = "ConnectString='DSN=SourceServer;UID=username;PWD=password'"

使用 i_to_server 连接;

选择@@trancount INTO :li_TranCount

来自系统对象

WHERE 名称 = 'sysobjects'

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

于 2017-05-19T18:09:39.830 回答