|
Henrique tente desta
forma, em nossos sistemas trabalhamos com mais de um handle conectado a mesma
base de dados e nunca tivemos problema, inclusive quando fazemos algumas
convers�es de dados na qual se faz necess�rio estas conex�es. Fiz alguns testes
baseado no seu exemplo e deu certo, verifique na sua aplica��o se as suas
conex�es seguem o descrito abaixo.
OBS: Em alguns
relat�rios desenvolvidos onde havia a necessidade de na
RPT_BeforeDetail fazer algum select para buscar algum detalhe da
informa��o principal eu utilizava um SqlImmediate e ocorria o mesmo erro
descrito (Conex�o ocupada com os resultados de outro HSTMT) troquei por
SqlPrepareAndExecute e funcionou, n�o sei se � o seu problema. Espero ter
ajudado.
If SqlConnect( sh1
) Call SqlSetIsolationLevel( sh1 , 'RL'
) Call SqlSetResultSet( sh1 , TRUE ) Call SqlSetParameter( sh1 ,
DBP_PRESERVE, TRUE, '' )
Call SqlPrepareAndExecute( sh1, 'SELECT *
FROM TABELA081' )
If SqlConnect( sh2 ) Call SqlSetIsolationLevel( sh2 , 'RL' ) Call SqlSetResultSet(
sh2 , TRUE ) Call
SqlSetParameter( sh2 , DBP_PRESERVE, TRUE,
'' )
Call
SqlPrepareAndExecute( sh2, 'SELECT * FROM
TABELA027'
)
Henrique e Maur�cio,
Esta forma funciona bem, pois tbm utilizo esta
solu��o em um cliente. O incoveniente � ter que criar 2 ODBCs diferentes para
o mesmo banco em cada m�quina cliente que acessa o sistema. Se for um software
que rode em uma rede muito grande com grande n�mero de usu�rios pode gerar um
pouco de transtorno, mas, n�o deixa de ser uma boa solu��o.
Henrique
----- Original Message -----
Sent: Wednesday, June 18, 2003 9:28 AM
Subject: [sqlwin] Re: [sqlwin] Re: [sqlwin] Re: [sqlwin] RES:
[sqlwin] Conex�es no SqlServer
Henrique,
Experimente nomear outro
alias no SQL.INI e realizar a segunda conex�o do seu aplicativo
(sh2) com ele. J� tivemos problemas assim e depois que come�amos a separar as
conex�es em alias diferentes nunca mais tivemos problemas, utilizando
SqlWindows 5.0.X, Centura 2.0, 2.1 e 3.0 e SqlServer 7.0 e
2000.
SQL.INI:
[odbcrtr]
remotedbname=banco1,DSN=MQIS
remotedbname=banco2,DSN=MQIS
Aplica��o:
Set SqlDatabase = 'banco1'
Call SqlConnect( hSql1 )
Set SqlDatabase = 'banco2'
Call SqlConnect( hSql2 )
Abra�os,
Mauricio
----- Original Message -----
Sent: Tuesday, June 17, 2003 4:39 PM
Subject: [sqlwin] Re: [sqlwin] Re: [sqlwin] RES: [sqlwin] Conex�es
no SqlServer
Pessoal, testei da seguinte forma, constru� um exemplo simples com dois
bot�es fazendo um select, mas mesmo assim n�o obtive sucesso....o
primeiro select ele executa normalmente mas no segundo ele me retorna o erro
20055 ...
Primeiro bot�o: Call SqlConnect( sh1 ) Call SqlSetParameter( sh1,
DBP_PRESERVE, TRUE, '' ) Call SqlSetResultSet( sh1, TRUE ) Call
SqlPrepareAndExecute( sh1, 'SELECT * FROM TABELA081' ) Call SqlCommit( sh1
)
Segundo bot�o:
Call SqlConnect( sh2 ) Call SqlSetParameter( sh2, DBP_PRESERVE, TRUE,
'' ) Call SqlSetResultSet( sh2, TRUE ) Call SqlPrepareAndExecute( sh2,
'SELECT * FROM TABELA027' )
Ambiente: Centura 1.1.1
SqlServer 2000
----- Original Message -----
Sent: Monday, June 16, 2003 2:04
PM
Subject: [sqlwin] Re: [sqlwin] RES:
[sqlwin] Conex�es no SqlServer
Henrique, xar�,
Esta solu��o de acrescentar a linha
ENABLEMULTIPLECONNECTIONS=on sob a se��o
[odbcrtr]
do
arquivo sql.ini resolve o problema, em parte, mas pode gerar outros
problemas maiores.
Esta modifica��o permitir� que v�rias
conex�es com o banco sejam abertas na mesma esta��o,
o que pode causar s�rios problemas de
degrada��o de performance do servidor e da aplica��o, al�m
de problemas com controle de conex�es,
caso o banco possua limite de conex�es.
Pela minha pr�pria experi�ncia que tive
com este problema, o mais indicado � colocar as duas
linhas de c�digo a seguir ap�s a chamada
da fun��o SqlConnect:
!!CB!! 70 Call SqlSetParameter(
phSql, DBP_PRESERVE, TRUE, '' ) !!CB!! 129 Call SqlSetResultSet(
phSql, TRUE )
----- Original Message -----
Sent: Monday, June 16, 2003 1:21
PM
Subject: [sqlwin] RES: [sqlwin]
Conex�es no SqlServer
Boa tarde !
Experimente acrescentar a
linha:
ENABLEMULTIPLECONNECTIONS=on
sob a se��o:
[odbcrtr]
do arquivo sql.ini
Sds, F�bio Lopes
-----Mensagem
original----- De: Righetto
[mailto:[EMAIL PROTECTED] Enviada em: segunda-feira, 16 de
junho de 2003 12:05 Para: [EMAIL PROTECTED] Assunto:
[sqlwin] Conex�es no SqlServer
Bom dia...
Estou enfrentando o seguinte problema,
utilizo sqlserver com centura, e preciso criar mais de uma conex�o com o
banco na mesma aplica��o, o problema � o seguinte quando executo a
segunda conex�o o banco me retorna o erro 20055 (Conex�o ocupada com os
resultados de outro HSTMT)....J� tentei utilizar o SqlSetIsolationLevel
mas mesmo assim n�o obtive sucesso...
Se alguem puder me ajudar desde j�
agrade�o...
Henrique Righetto
Corr�a
--- Incoming mail is certified Virus Free. Checked by
AVG anti-virus system (http://www.grisoft.com). Version: 6.0.476 / Virus
Database: 273 - Release Date: 24/04/03
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.476 / Virus Database: 273 - Release Date: 24/04/03
|