Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

will_jdc

PROGRAMA LENTO AO SE CONECTAR AO SQL SERVER

Recommended Posts

Boa Tarde a todos, 

Tenho um programa Windows desktop que utiliza o SQL SERVER como fonte de dados, os usuários iniciam o programa que se conecta ao SQL Server. 

Após o programa fazer o Login no sql server, o usuário insere a senha do sistema para acessar as informações na base de dados, porém quando ele coloca a senha do sistema, o programa fica processando e acaba que não respondendo, como faço para verificar no SQL Server o que esta impedindo o acesso as informações ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa tarde

 

você precisa checar se chega o login no SQL.

Sugiro q de uma olhada na sintaxe do login, plano de execução, qtde de processos no banco, trafego de rede e assim em diante.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sugiro colocar a sp_whoisactive no seu ambiente.

É uma procedure que pode te ajudar a mapear este tipo de problema

 

http://whoisactive.com/

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por FabianoSouza
      Preciso corrigir o erro "Somente uma expressão pode ser especificada na lista de seleção quando a subconsulta não é introduzida com EXISTS." da minha consulta.
      SELECT TA.titulo AS 'Trilha' , (SELECT CAST(ROUND((Comportamental * 100.0) / (Comportamental + Técnico), 2) AS DECIMAL(5,1)) AS Comportamental ,CAST(ROUND((Técnico * 100.0) / (Comportamental + Técnico), 2) AS DECIMAL(5,1)) AS Técnico FROM ( SELECT SUM(CASE WHEN dbo.tabB.enfoque = '1' THEN 1 ELSE 0 END) AS Comportamental, SUM(CASE WHEN dbo.tabB.enfoque = '2' THEN 1 ELSE 0 END) AS Técnico, COUNT(*) AS Total FROM dbo.tabB ) tab ) FROM dbo.tabA AS TA Nessa consulta, preciso trazer o título (da tabA) e o resultado de um cálculo feito na subconsulta, nos campos Comportamental e Técnico.
    • Por JoãoNeto2
      Eu estava usando um programa em PHP que conectava e lia um banco de dados SQL Server. Do nada ele parou de funcionar apresentando a seguinte mensagem :
      O cliente não pode estabelecer conexão porque foi encontrado um erro durante os handshakes anteriores ao logon. As causas comuns incluem a tentativa do cliente de conectar-se a uma versão sem suporte do SQL Server, o servidor muito ocupado para aceitar novas conexões ou uma limitação de recursos (memória ou máximo de conexões permitidas) no servidor.
      Algumas informações para esclarecer :
      1-Consigo conectar o banco via Dbeaver da própria máquina que o programa PHP deixou de funcionar
      2-De outra máquina consigo conectar esse mesmo banco com o mesmo programa PHP
      3-Essa mesma máquina conecta outro banco SQL Server de outro cliente
      Ou seja, o mesmo programa conecta o mesmo banco mas de outra máquina e a mesma máquina consegue conectar outro banco SQL.
      O que pode ser?
    • Por Kakaroto1309
      Preciso de uma ajuda para conectar com o banco. Estava tudo funcionando normalmente com MYSQL agora parou tudo e estou tentando trocar para MYSQLI.
      Não acho o erro, já tentei de tudo.
       
      connection.php
      <? function conecta() { $host = "localhost"; $user = "admin"; $pass = "123456789"; $db = "principal"; //Conexão $conexao = mysqli_connect($host, $user, $pass) or die("Erro na conexão:".mysqli_error()); //Selecionar BD mysqli_select_db($conexao,$db) or die("Erro ao selecionar BD"); } function desconecta() { mysqli_close(); } ?> validate.php
      <? if (empty($_POST) and (empty($_POST['cpUsuario']) OR empty($_POST['cpSenha']))) { header("Location: ../login.php"); exit; } else { include("connection.php"); conecta(); $varUsuario = $_POST['cpUsuario']; $varSenha = sha1($_POST['cpSenha']); $stt = "SELECT ID,txNome,txNivel FROM tbUsuario WHERE txUsuario='$varUsuario' and txSenha='$varSenha' LIMIT 1"; $sql = mysqli_query($conexao,$stt) or die(mysqli_error($conexao)); $existe = mysqli_num_rows($sql); if ($existe == 0) { echo "Login invalido ou inexistente na base"; exit; } else { $resultado = mysqli_fetch_assoc($sql); if (!isset($_SESSION)) { session_start(); } $_SESSION['UsuarioID'] = $resultado['ID']; $_SESSION['UsuarioNOME'] = $resultado['txNome']; $_SESSION['UsuarioNIVEL'] = $resultado['txNivel']; header("Location: ../menu.php"); exit; } } ?> O erro agora está dando o seguinte:
      PHP Warning:  mysqli_query() expects parameter 1 to be mysqli, null given in /home4/public_html/connection/validate.php on line 17
       
      Linha 17 é essa:
      $sql = mysqli_query($conexao,$stt) or die(mysqli_error($conexao));
       
      Se eu tiro o $conexao do mysqli_query ele da erro de "mysqli_query() expects at least 2 parameters, 1 given" e se eu coloco o erro é "mysqli_query() expects parameter 1 to be mysqli, null given"
       
      Alguem sabe como posso resolver isso?
    • Por biakelly
      Meninos, estou recebendo um erro ao cadastrar usuário:
       
      Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/hqxz0o4/public_html/inc.functions.php on line 181
       
      Tal erro aponta para esta linha:
      if(mysqli_num_rows( $result ) >= 1) código completo:
       
      function already_exists($column, $value) { global $dbHandle, $db_tblUsrs; $sql = "SELECT * FROM $db_tblUsrs WHERE $column = '$value'"; $result = mysqli_query($dbHandle, $sql); if(mysqli_num_rows( $result ) >= 1) return true; else return false; } function check_login($username, $password) { global $dbHandle, $db_tblUsrs; $sql = "SELECT * FROM $db_tblUsrs WHERE CL_username = '$username' and CL_password = '$password'"; $result = mysqli_query($dbHandle, $sql); if(mysqli_num_rows($result) >= 1) { $row = mysqli_fetch_array($result,MYSQLI_ASSOC); $_SESSION['loggedIn'] = true; $_SESSION['userdbid'] = $row['CL_id']; $_SESSION['username'] = $row['CL_username']; return true; } else { $_SESSION['loginError'] = "<font color='#FCC329'>USUÁRIO OU SENHA INCORRETA</font>"; return false; } }  
       
      Poderiam me ajudar entender esse erro e corrigi-lo?
    • Por ndias
      Estou com duvida se minha conexão está encerrando.
       
      Utilizo PDO para me conectar:
       
      public static function getDb(){ try { $db = new \PDO( 'mysql:host=localhost;dbname=xyz;charset=utf8', 'xyz', 'xyz1234', array( \PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION ) ); return $db; } catch (PDOException $e) { echo "Erro de Conexão " . $e->getMessage() . "\n"; exit; } } public function __construct(\PDO $db) { $this->db = $db; } public function verifica(){ $sql = "SELECT * FROM tabela "; $result = $this->db->query($sql); $rows = $result->fetch(); if($rows){ }else{ } } public function __destruct() { unset($this->db); foreach ($this as $key => $value) { unset($this->$key); } } Estou fazendo certo? Como posso verificar se a conexão está ficando aberta?
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.