Pergunta

Como fazer pool de conexão de banco de dados em PowerBuilder (v9 +) com ...

  • ... ODBC?
  • ... SQL Server?
  • ... Oracle?
Foi útil?

Solução

Não

Infelizmente, pelo menos com PB 9, você pode nativamente . PB tem sido sempre uma ferramenta dev de dois níveis. No entanto, se você estiver usando o suporte WebServices que começou em PB 9 você pode contornar essa limitação, invocando WebServices em uma conexão em pool AppServer. Eu não tenho jogado com PB 11,5 ainda BTW. Poderia ser diferente lá.

Jason

Outras dicas

Neste risco de auto-promoção, estes podem começar para Oracle:

Se você vai para Sybase Manuais (intuitiva, hein?), Vá para a Conexão com o manual do banco de dados para a versão que você está olhando, uma pesquisa por "pool" pode ser produtivo. Olhando para a minha cópia local para 11,5, eu posso ver referências a SNC (MS) e ODBC.

Tanto quanto "não-nativos" se aproxima, eu estou supondo que Jason poderia ter sido referindo-se ao pool de conexão com um servidor de aplicativos, em seguida, obter os seus dados através disso.

Boa sorte.

Com PowerBuilder versão 9 e usando o driver nativo do Oracle e conexão com Oracle 9i e acima de bases de dados, você pode dizer Oracle para manter conexões em um pool usando o CnnPool = 'Sim' parâmetro de banco de dados:

Informações adicionais a partir do PB 11.1 docs: http: // infocenter .sybase.com / help / index.jsp? topic = / com.sybase.dc33820_1110 / html / dbparm / BJEBJADI.htm

Eu não acredito que

CnnPool = 'Sim'

foi apoiado oficialmente na PB 9.

Eu não tenho certeza que a maioria dos desenvolvedores PB são tudo o que familiarizado com a forma de lidar com piscinas.

A abordagem de ASP.Net é simples e direta, pelo menos em comparação com a minha experiência com alguns servidores de aplicativos Java. (Por favor, não iniciar uma guerra em que a última frase, eu disse a minha experiência).

Eu escrevi uma aplicação "servidor" que recebeu datastores PB que foram executadas para ds.retrieve () e ds.update () e passou parte de trás de dados para o aplicativo PB cliente. Era uma maneira de piscina. A aplicação de servidor iria abrir múltiplas conexões ... Eu fiz isso em PB 8 (há um livro lá fora em algum lugar). Eu não recomment esta abordagem ... lote de código.

Em PB 11.x, existem algumas interessantes novas abordagens que você deve considerar.

@ Jason Vogel ...

Você disse que eu não posso fazer nativamente ... então não é uma forma alternativa de fazer isso?

/ * Declare como uma variável de instância * /

n_to_server i_to_server // alternativa Transação objeto para SQLCA, i_to_server é um nome personalizado como é n_to_server

/ * Instatiate objeto de conexão * /

i_to_server = CRIAR transação // Foi declarado nas variáveis ??de instância de n_to_server

i_to_server.DBMS = "ODBC"

i_to_server.AutoCommit = TRUE

i_to_server.DBParm = "ConnectString = 'DSN = SourceServer; UID = nome de usuário; PWD = password'"

Conectar com i_to_server;

SELECT @@ INTO trancount: li_TranCount

FROM sysobjects

WHERE name = 'sysobjects'

USANDO i_to_server; // Deve ter USANDO em transações que não estão usando SQLCA (a transação nativa)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top