Acesso ao banco de dados

11/11/2015

0

Boa tarde!

Estou com um problema na hora de selecionar dados através de DataTable para um DataGridView em C# (sistema cliente servidor).

Additional information: Erro ao tentar selecionar os dados! Tempo limite expirado. O período de tempo limite foi atingido antes que fosse obtida uma conexão do pool. Isso pode ter ocorrido porque todas as conexões do pool estavam em uso e o tamanho máximo do pool foi atingido.

Como posso resolver este problema?

Desde Já agradeço...
Mario Jr

Mario Jr

Responder

Posts

11/11/2015

Jothaz

Podem ser inúmeros fotores.

1-Sua srtring de conexão esta com usuário e senhas corretos?
2-Você consegue acessar o BD com Management Studio?
3-Seu BD esta configurado para acesso por TCP/IP?

Enfim sem um conhecimento maior do ambiente só posso conjecturar.
Responder

12/11/2015

Mario Jr

Jothaz, boa tarde!

Todas as suas questões estão ok!

Na maioria das consultas tenho sucesso, esse problema acontece em um único caso que tenho que fazer vários acessos no banco para preencher um datagridview com uma quantidade grande de dados.
Responder

12/11/2015

Jothaz

Então já temos um caminho, provavelmente esta consulta/procedimento pode esta com algum problema.

Como ela é executada: expressão SQl via código, stored procedure ou LINQ?

Uma boa forma de monitorar é usar o Profiler do SQL Server, pois assim você "vê" tudo o que esta sendo requisitado ao banco de dados.
Responder

12/11/2015

Mario Jr

As consultas são feitas por expressão SQL via código.

Fiz um teste aqui aumentando o MAX POOL SIZE na ConnectionString e acabou o problema. Fiz assim:

Pooling=true; Min Pool Size=0;Max Pool Size=200;


Será que pode sofrer algum efeito colateral prejudicando a aplicação por ter mudado este parâmetro?
Responder

12/11/2015

Jothaz

Impossível dar um parecer sem acesso ao ambiente, pois eria no minimo leviano.

Salva raras exceções é aconselhável tentar otimizar a consulta que aumentar o timeout, pois dependendo do cenário: quantidade de acesso, quantidade de bytes trafegados entre outras coisas, podem afetar negativamente a performance.

Com já tinha sugerido use o Profiler do SQL, pois é a única forma de verificar como o servidor esta se comportando.
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar