Domanda

Come creare un pool di connessioni al database in PowerBuilder (v9 +) con ...

  • ... ODBC?
  • ... SQL Server?
  • ... Oracle?
È stato utile?

Soluzione

Sfortunatamente, almeno con PB 9, non puoi nativamente . PB è sempre stato uno strumento di sviluppo a due livelli. Tuttavia, se si utilizza il supporto di WebServices avviato in PB 9, è possibile aggirare questa limitazione invocando WebServices su un appServer con pool di connessioni. Non ho ancora giocato con PB 11.5 BTW. Potrebbe essere diverso lì.

Jason

Altri suggerimenti

A questo rischio di autopromozione, questi potrebbero farti iniziare per Oracle:

Se vai su Sybase Manuals (intuitivo, eh?), vai al manuale Connessione al tuo database per la versione che stai guardando, una ricerca di " pool " può essere produttivo. Guardando la mia copia locale per 11.5, posso vedere i riferimenti a SNC (MS) e ODBC.

Per quanto riguarda " non nativo " approcci, suppongo che Jason si sarebbe potuto riferire al pool di connessioni con un server delle applicazioni, quindi a ottenere i tuoi dati.

Buona fortuna.

Con PowerBuilder versione 9 e successive utilizzando il driver nativo Oracle e connettendosi ai database Oracle 9i e versioni successive, è possibile indicare a Oracle di mantenere le connessioni in un pool utilizzando il parametro database CnnPool = 'Sì' :

Informazioni aggiuntive dai documenti PB 11.1: http: // infocenter .sybase.com / help / index.jsp? topic = / com.sybase.dc33820_1110 / html / dbparm / BJEBJADI.htm

Non ci credo

  

CnnPool = 'Sì'

è stato supportato ufficialmente in PB 9.

Non sono sicuro che la maggior parte degli sviluppatori PB abbia familiarità con il modo di gestire i pool.

L'approccio di ASP.Net è semplice e diretto almeno rispetto alla mia esperienza con alcuni server di app Java. (Per favore, non iniziare una guerra alla fiamma sull'ultima frase, ho detto la mia esperienza).

Ho scritto un " server " applicazione che ha ricevuto datastore PB eseguiti per ds.retrieve () e ds.update () e passati i dati all'app PB client. Era un modo per riunirsi. L'applicazione server avrebbe aperto più connessioni ... L'ho fatto in PB 8 (c'è un libro là fuori da qualche parte). Non consiglierei questo approccio ... molto codice.

In PB 11.x, ci sono alcuni nuovi approcci interessanti che dovresti prendere in considerazione.

@Jason Vogel ...

Hai detto che non posso fare nativamente ... quindi esiste un modo alternativo per farlo?

/ * Dichiara come variabile di istanza * /

n_to_server i_to_server // Transaction Object alternativo a SQLCA, i_to_server è un nome personalizzato come n_to_server

/ * Installa l'oggetto connessione * /

i_to_server = CREATE transazione // È stato dichiarato nelle variabili di istanza da n_to_server

i_to_server.DBMS = " ODBC "

i_to_server.AutoCommit = TRUE

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

CONNETTI USANDO i_to_server;

SELEZIONA @@ trancount INTO: li_TranCount

DA sysobjects

WHERE name = 'sysobjects'

USANDO i_to_server; // Deve avere USING nelle transazioni che non utilizzano SQLCA (la transazione nativa)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top