none
Erro ao Criar tabela temporária RRS feed

  • Pergunta

  • Pessoal boa noite.

    Tenho um sistema desenvolvido em Delphi onde trabalho com o banco de dados Delphi.

    Dentro do sistema tenho alguns relatórios complexos onde a melhor maneira é criar uma tabela temporária para trabalhar com os dados e depois ela pode ser apagada normalmente. Tenho 2 bancos de dados diferentes que percebi que o erro não está na programação mas sim acho que deve ser alguma configuração do banco.

    O primeiro banco de chama JSA onde trabalha para um sistema e o outro banco se chama CONN que está para outro sistema.

    Se eu coloco esse relatório no projeto do JSA a tabela temporária funciona perfeitamente, mas se eu jogo o mesmo relatório no outro projeto onde está o banco CONN não funciona.

    Abaixo segue o código para vocês analisarem.

    Criando a tabela

        sTabela := '#SEC'+formatdatetime('hhmmss',time());
    
        With DM.sqlAux do begin
         LimpaSQL(DM.sqlAux);
         SQL.Add('Create table '+sTabela);
         SQL.Add('(ordem int IDENTITY (1,1) NOT NULL,');
         SQL.Add('Codigo varchar (6) NULL ,');
         SQL.Add('Nome varchar (70) NULL ,');
         SQL.Add('EnderecoResidencia varchar (60) NULL ,');
         SQL.Add('ComplResidencia varchar (80) NULL ,');
         SQL.Add('BairroResidencia varchar (40) NULL ,');
         SQL.Add('CidadeResidencia varchar (40) NULL ,');
         SQL.Add('UFResidencia varchar (2) NULL ,');
         SQL.Add('CEPResidencia varchar (15) NULL)');
         ExecSQL;
       end;

    Inserindo na tabela

           SQL.Add('Insert into '+sTabela);
           SQL.Add('(Codigo, Nome, EnderecoResidencia, ComplResidencia, BairroResidencia, CidadeResidencia, CepResidencia, UFResidencia)');
           SQL.Add('Values(:xCod, :xNome, :xEnderecoResidencia, :xComplResidencia, :xBairroResidencia, :xCidadeResidencia, :xCepResidencia, :xUFResidencia)');
           Parameters.ParamByName('xCod').value                := Trim(txtCod.Text);
           Parameters.ParamByName('xNome').value               := cNome;
           Parameters.ParamByName('xEnderecoResidencia').value := cRua;
           Parameters.ParamByName('xComplResidencia').value    := cCompl;
           Parameters.ParamByName('xBairroResidencia').value   := cBairro;
           Parameters.ParamByName('xCidadeResidencia').value   := cCidade;
           Parameters.ParamByName('xCepResidencia').value      := cCep;
           Parameters.ParamByName('xUFResidencia').value       := cEstado;
           ExecSQL;

    E selecionando a tabela

         LimpaSQL(DM.sqlAux3);
         SQL.Add('Select * from '+sTabela+' order by nome');
         open;

    Quando vou selecionar a tabela da esse erro: Nome do Objeto '#SEC000343'

    Lembrando novamente que se eu executar esses mesmos comando na tabela JSA funciona perfeitamente.

    Alguém pode me ajudar?

    Grato


    Wagner_fix

    segunda-feira, 7 de dezembro de 2015 02:05

Respostas

  • Bom dia.

    Possivelmente tu não tens permissão para criar a tabela no segundo banco de dados.

    E por que não utilizar uma TempTable (caso o banco de dados seja SQL Server), se a criação desta tabela realmente for necessária?

    (Pessoalmente acho que seria melhor criar uma View para retornar estes dados, mas cada um, cada um)


    Att., Rafael Simor

    segunda-feira, 7 de dezembro de 2015 13:04

Todas as Respostas

  • Bom dia.

    Possivelmente tu não tens permissão para criar a tabela no segundo banco de dados.

    E por que não utilizar uma TempTable (caso o banco de dados seja SQL Server), se a criação desta tabela realmente for necessária?

    (Pessoalmente acho que seria melhor criar uma View para retornar estes dados, mas cada um, cada um)


    Att., Rafael Simor

    segunda-feira, 7 de dezembro de 2015 13:04
  • Wagner,

    Porque você esta fazendo uso deste banco de dados existente no Delphi?

    Qual seria a sua dificuldade para usar uma outra solução?


    Pedro Antonio Galvao Junior [MVP | MCC | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitario | SoroCodigos | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]

    terça-feira, 8 de dezembro de 2015 13:54
    Moderador