Acesso ao banco de dados
11/11/2015
0
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
Posts
11/11/2015
Jothaz
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.
12/11/2015
Mario Jr
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.
12/11/2015
Jothaz
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.
12/11/2015
Mario Jr
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?
12/11/2015
Jothaz
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.
Clique aqui para fazer login e interagir na Comunidade :)