ERROS QUANDO HÁ DEMORA DE RESPOSTA SQL/REDE

 Tópico anterior Próximo tópico Novo tópico

ERROS QUANDO HÁ DEMORA DE RESPOSTA SQL/REDE

SQL / DATABASE

 Compartilhe  Compartilhe  Compartilhe
#479591 - 15/02/2018 09:08:12

LUIS HERRERA
NOVA ODESSA
Cadast. em:Julho/2005


Bom dia!
Meu sistema em C# (2008) + SQL Server 2008 R2, roda perfeitamente em vários clientes, porém eventualmente ocorre erros em rotinas apenas em algumas máquinas/cliente. Por relatos suspeito que os erros são consequência de lentidão no acesso ao SQL Server ou no retorno dos dados, não sei se da rede ou do SQL Server, pois são erros intermitentes. As vezes ocorre na abertura da tela pode ser qualquer uma (onde são feitas consultas para povoar campos de seleção ou grids), as vezes na hora de salvar um registro, mas que em outros clientes ou até no mesmo em determinados momentos não ocorre.

ex: (apesar de não haver erro no formato dos dados, aparece essa mensagem)
System.FormatException: Seqüência de entrada não estava em um formato incorreto.
   em System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)

ou nessa, mesmo os objetos estando instanciados, mas como existem n objetos, não dá para saber onde ocorre o problema

System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
em MeuAplicativo.frm_Analise.frm_Analise_Load(Object sender, EventArgs e)
   em System.Windows.Forms.Form.OnLoad(EventArgs e)
   em System.Windows.Forms.Form.OnCreateControl()
   em System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
   em System.Windows.Forms.Control.CreateControl()
   em System.Windows.Forms.Control.WmShowWindow(Message& m)
   em System.Windows.Forms.Control.WndProc(Message& m)
   em System.Windows.Forms.ScrollableControl.WndProc(Message& m)
   em System.Windows.Forms.ContainerControl.WndProc(Message& m)
   em System.Windows.Forms.Form.WmShowWindow(Message& m)
   em System.Windows.Forms.Form.WndProc(Message& m)
   em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

se esse erro de Load ocorrer, o de baixo Closed também ocorre em seguida

System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
   em (Object )
   em MeuAplicativo.frm_Analise.frm_Analise_FormClosed(Object sender, FormClosedEventArgs e)
   em System.Windows.Forms.Form.OnFormClosed(FormClosedEventArgs e)
   em System.Windows.Forms.Form.WmClose(Message& m)
   em System.Windows.Forms.Form.WndProc(Message& m)
   em System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Nota: A instância dos objetos foram declaradas, pois na maioria das vezes funciona sem problema, mas as vezes dá o erro.

O único problema que consegui identificar por relato dos usuários é que as vezes o servidor está lento, não sei o motivo.

Minha conexão está assim para autenticação SQL:

myStringConexaoMontada = string.Format("server={0}\\{2},{1};database={3};user='{4}';pwd='{5}';Trusted_Connection=False;connect timeout=60;", s_serverLocal, i_portaLocal, s_instanciaLocal, myBanco, myUsuario, mySenha);


LH
Preserve a Natureza
Faça Coleta Seletiva e Cuide da Fauna e Flora por onde passa ou vive.
Dedique um tempo ao seu espírito, mente sã e corpo são.
Você e sua famí­lia serão os maiores beneficiado.

#479592 - 15/02/2018 09:16:37

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
São todos erros de código. Tratando string como número, não tratando null e coisas assim. Verifique todo o stack do erro que ele vai dizer inclusive onde está ocorrendo.

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


#479593 - 15/02/2018 09:35:43

LUIS HERRERA
NOVA ODESSA
Cadast. em:Julho/2005


Última edição em 15/02/2018 09:51:29 por LUIS HERRERA

O problema que isso só ocorre em alguns clientes, e não tenho como identificar o Stack pois tudo que recebo é isso que postei. Como eu envio o EXE ofuscado, não há mais dados a obter infelizmente.

Nesse caso então teria de fazer um try catch para cada campo, pois no DAL ao fazer o select eu já testo se retornou Null, então eu incluo um empty ou 0 ou false nos campos respectivamente, antes de devolver ao formulário. Assim não vejo como poderia ocorrer erro no formulário, se o valor já está no formato correto. Ao converter um valor para string, é zero será string zero. Porém o erro não está ocorrendo na DAL, mas no formulário, seja ao abrir, fechar ou clicar em salvar.

Nota: Antes de mandar os dados para gravar, eu faço a validação de cada campo.

LH
Preserve a Natureza
Faça Coleta Seletiva e Cuide da Fauna e Flora por onde passa ou vive.
Dedique um tempo ao seu espírito, mente sã e corpo são.
Você e sua famí­lia serão os maiores beneficiado.

#479596 - 15/02/2018 09:53:06

KERPLUNK
RIO GRANDE DO SUL
Cadast. em:Junho/2009


Membro da equipe
1 - Use OOP.
2 - Use suas propriedades com tips anuláveis, ou seja, tipos de dados que aceitam valores null
3 - Use DataBinding ao invés de "txtAlgumaCoisa.Text = xxx"

_______________________________________________________________________
Gostaria de ter seu sistema Desktop "traduzido" para uma interface web? Podemos conversar...
Virei Oráculo!
The end is nigh, be ready for the nukes!


 Tópico anterior Próximo tópico Novo tópico


Tópico encerrado, respostas não sao permitidas
Encerrado por LUIS HERRERA em 15/02/2018 11:33:53