Acesso ao banco de dados
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...
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
Curtidas 0
Respostas
Jothaz
11/11/2015
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.
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.
GOSTEI 0
Mario Jr
11/11/2015
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.
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.
GOSTEI 0
Jothaz
11/11/2015
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.
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.
GOSTEI 0
Mario Jr
11/11/2015
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?
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?
GOSTEI 0
Jothaz
11/11/2015
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.
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.
GOSTEI 0