Ir para conteúdo
Fórum Script Brasil
  • 0

Problemas com beginTransaction no Sql Server


Fiji

Pergunta

Ola !! Boa Tarde

Estou tentando usar um função beginTransaction() com a banco Sql Sever

so q me retorna "This driver doesn't support transactions"

alguém tem uma solução p resolver esse problema Obrigado !!!

public static function open($database)
           {
        
               if(empty(self::$conn))
               {                      
                    self::$conn = Conexao::open($database);
                        //inicia a transacao
                    self::$conn->beginTransaction();
               }
          
                     }


          public static function rollback()
          {
              if(self::$conn)
              {
                //desfaz operaçoes realizada 
                self::$conn->rollback();   

                 //e fecha conexao
                 self::$conn = NULL;
              }
           }
           
          
          public static function close()
          {
               if(self::$conn)
               {
               
                 //aplica  operaçoes realizadas 
                  self::$conn->commit();
                  //e  fecha conexao
                      self::$conn = NULL;
                       }
                 }
Estou usando conexão PDO /extension=php_pdo_mssql.dll
switch($type)
          {
             case 'mssql';
             $conn = new PDO("mssql:host={$servidor};dbname={$database}" , $usuario, $senha);
             break;
             
             case 'mysql';
             $conn = new PDO("mysql:host={$servidor};dbname={$database}" , $usuario, $senha);
             break;
               
          }

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Rs, eu não entendo do SQL SERVER da Microsoft, mas se está sendo retornado que o suporte a transação não existe, então deve ser por causa da versão do seu SGBD. Já procurou saber sobre isso? Outra coisa, você está reeinventando a roda, você não precisa de uma função rollBack, crie uma classe só para a conexão com o banco, nesta classe, defina um método que retorne um objeto PDO em uma propriedade, em cada classe, coloque uma propriedade $_db por exemplo, no método __construct, coloque $_db para receber o objeto PDO criada pela outra classe.

Editado por Rafael Laurindo
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...