質問

PowerBuilder (v9+) でデータベース接続プールを作成する方法...

  • ...ODBC?
  • ...SQLサーバー?
  • ...オラクル?
役に立ちましたか?

解決

残念ながら、少なくとも PB 9 ではそれはできません。 ネイティブに. 。PB は常に 2 層の開発ツールでした。ただし、PB 9 で開始された WebServices サポートを使用している場合は、接続プールされた appServer で WebServices を呼び出すことで、この制限を回避できます。ところで、私はまだ PB 11.5 でプレイしたことがありません。そこは違うかもしれない。

ジェイソン

他のヒント

自己宣伝というリスクは承知の上で、Oracle を始めるきっかけとなるかもしれません:

に行くなら Sybaseマニュアル (直感的ですね?)、表示しているバージョンの『データベースへの接続』マニュアルに移動します。「プール」を検索すると効果的です。11.5 のローカル コピーを見ると、SNC (MS) と ODBC への参照が見つかります。

「非ネイティブ」というアプローチに関して言えば、ジェイソンはアプリケーション サーバーとの接続プールを指し、そこからデータを取得することを指していたのではないかと思います。

幸運を。

PowerBuilder バージョン 9 以降で Oracle ネイティブ ドライバを使用し、Oracle 9i 以降のデータベースに接続すると、次のコマンドを使用してプール内の接続を維持するように Oracle に指示できます。 CnnPool='はい' データベースパラメータ:

PB 11.1 ドキュメントからの追加情報:http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.dc33820_1110/html/dbparm/BJEBJADI.htm

そんなこと信じない

CnnPool='はい'

サポートされました 正式に PB9で。

ほとんどの PB 開発者がプールの扱い方に精通しているかどうかはわかりません。

ASP.Net のアプローチは、少なくともいくつかの Java アプリ サーバーでの私の経験と比較すると、シンプルで簡単です。(最後の文で炎上戦争を始めないでください、私は私の経験を言いました)。

ds.retrieve() および ds.update() に対して実行される PB データストアを受信し、そのデータをクライアント PB アプリに返す「サーバー」アプリケーションを作成しました。それはプールへの道でした。サーバー アプリケーションは複数の接続を開きます...私はこれを PB 8 で行いました (どこかに本があります)。このアプローチはお勧めしません...たくさんのコード。

PB 11.x には、考慮すべき優れた新しいアプローチがいくつかあります。

@ジェイソン・ヴォーゲル...

あなたは私にはできないと言った ネイティブに ...それでは、別の方法があるのでしょうか?

/* インスタンス変数として宣言*/

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=ソースサーバー;UID=ユーザー名;PWD=パスワード'"

i_to_server を使用して接続します。

SELECT @@trancount INTO :li_TranCount

システムオブジェクトから

WHERE 名 = 'sysobjects'

i_to_server を使用します。//SQLCA を使用しないトランザクション (ネイティブ トランザクション) では USING が必要です

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top