Jump to content
opl12

Importar dados automaticamente para o banco phpMyAdmin

Recommended Posts

Olá Mestres!

 

Tem alguma forma de importar a base de dados para o banco phpMyAdmin de forma automática?

 

hoje utilizo cuma conexão com o SAP HANA, porém um simples SELECT leva mais de 30 segundos(são bases grandes).. após esse tempo o PHP dá timeout, e mesmo se não desse, a busca dos dados está bem demorada. 

 

Se puderem dar uma dica agradeço.

vlew!

 

 

Share this post


Link to post
Share on other sites

Bom dia!

 

1 - phpMyadmin não é um banco, é apenas uma interface web administradora do SGBD MySQL/MariaDB. Você faz a importação para o servidor e não para o phpmyadmin.

 

2 - O que tem haver um select demorado, com uma importação automática, não entendi.

Share this post


Link to post
Share on other sites
1 hora atrás, Alaerte Gabriel disse:

Bom dia!

 

1 - phpMyadmin não é um banco, é apenas uma interface web administradora do SGBD MySQL/MariaDB. Você faz a importação para o servidor e não para o phpmyadmin.

 

2 - O que tem haver um select demorado, com uma importação automática, não entendi.

Olá Grabriel,

Desculpe sou novo em php e sql :/

 

#O que eu quero fazer:

Tenho um Dasboard em Excel...

No Excel utilizo conexão do powerquery para atualizar o dashboard...Essas conexão vem do meu servidor SAP HANA....toda vez que atualizo as planilhas conectadas ao servidor, então atualiza automaticamente meu Dashboard...

 

#Preciso mudar para PHP

Fiz a estrutura em htm e php (localhost)

Via PHP fiz uma conexão no banco de dados SAP HANA(Ou servidor)

Nesta conexão estou fazendo um SELECT pra trazer os dados do relatório.. mas fica muito lento e às vezes dá TimeOut no PHP

 

 

#Então minha dúvida:

Tem como carregar as planilhas(que baixei do servidor) e importar no phpMyAdmin de forma automática?

Ou ainda um código php que faça isso?

 

Vlew

 

 

Share this post


Link to post
Share on other sites

Aí depende muito do caso. Uma coisa é a estrutura de dados para o seu servidor atual, outra coisa é estrutura de dados para o MySQL/MariaDB, ou você modela um banco de dados novo e depois converte/migra para mysql, ou começa do zero mesmo.

Share this post


Link to post
Share on other sites

Meu caro, creio que haja um certo equívoco de tua parte quanto a uma importação automática. E quero começar pontuando-te nisso, programar requer clareza, vocẽ precisa saber, por mais básico que você seja, o que você quer fazer.

 

Então, partamos ao factual proposto, você questionou sobre importação automática para o PHPMyAdmin que como já te foi explanado, não se trata de um BD e sim de uma interface de interação. Então, você disse também que as consultas demoram cerca de 30 segundos até retornar um resultado a você. Avaliando isso, eu percebo três coisas:
 

  1. Você quer importar todos o banco de dados na origem para um servidor de banco de dados local.
  2. Você quer com isso reduzir o tempo de demora e também tratar o timeout.
  3. Produzir cache para evitar ficar fazendo consultas paralelas desnecessárias, dessa forma, amenizando o processamento de requisições diretamente ao banco.

 

Certo? Então, o que te sugiro é, se o banco de dados tiver a viabilidade de um horário no qual ele não esteja em exercício de inserção e alteração, é sim viável fazer uma importação gerando uma consulta completa com os esquemas e os dados dispostos. E a partir disso, você vai criar um sistema de avaliação que vai ficar fazendo incrementos e modificações no banco de dados local para ficar alinhado ao banco de dados remoto.

 

E por fim, enquanto os dados estão inalterados, não tem porque você ficar indo busca-los no banco de dados, por exemplo, se no teu RG, o teu nome não foi mudado, não tem tu ir até a SSP para pedir uma atualização da identidade, você vai usar a mesma até que te seja necessário renova-la por tempo de expediação ou por alteração ou acaso de alguma natureza. Compreendeu? Então, localmente você vai ter arquivos que te armazena dados não alterados, dessa forma, não vai precisar ir ao banco de dados, vai te bastar checar esses arquivos e recuperar os valores armazenados nele.

Isso será bem trabalhoso, meu caro, mas é possível. Boa sorte!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By rafaelmoreira78
      Boa tarde!
      Estou querendo fazer um select a partir da seleção de um combobox. Nesse combobox o usuário escolhe o tipo de busca que ele quer. Se é por nome, por id, por data etc. E depois, exibe os dados nos campos. Porém, não estou conseguindo e não sei como resolver isso.
      public void consultar(){ String sql ="select * from tbcertificados where ?=?"; try{ pst=conexao.prepareStatement(sql); pst.setString(1,cbConsulta.getSelectedItem().toString()); pst.setString(2,txtBusca.getText()); rs=pst.executeQuery(); if (rs.next()){ lblID.setText(rs.getString(1)); txtNome.setText(rs.getString(2)); comboCursos.setSelectedItem(rs.getString(3)); txtData.setText(rs.getString(4)); txtCH.setText(rs.getString(5)); txtEmpresa.setText(rs.getString(6)); txtObs.setText(rs.getString(7)); }  
    • By danilo759
      Tenho uma tabelinha de programas para uma rádio... está da seguinte forma.

      titulo
      data (YYYY-MM-DD)
      hora (00:00:00)

      Minha consulta, mas não retorna o programa da hora corrente. O que eu fiz de errado?
      SELECT * FROM programas WHERE data = CURDATE() AND hora = CURTIME() LIMIT 1
    • By Ro_JnR
      Estou tentando a semanas resolver um problema, consumir uma API e verificar se o campo no banco está vazio, se estiver faz insert se não faz update.
      Até aí tudo bem, agora não consigo passar do meu select para o banco, ele da erro.
       
      Segue o código:
       
      <?php

          require_once("db.class.php");
          
          $url = "https://servicodados.ibge.gov.br/api/v1/localidades/distritos";
              $ch = curl_init($url);
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
              curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
              $resultado = json_decode(curl_exec($ch));
              foreach ($resultado as $cidades) {
                  $nome = $cidades->nome;
                  $stmt = $conn->prepare("SELECT name FROM cidades WHERE name=?");
                  $stmt->bind_Param(':name', $nome);
                  $stmt->execute();
                  $stmt->bind_result($resultSelect);
                  $stmt->fetch();
                  if(!$stmt->execute()){
                      print_r($stmt->errorInfo());
                  }
              } 

      ?>
       
      Código do banco:
       
      $conn = new PDO("mysql:host=localhost;dbname=exercicio", "root", "");
      //"sqlsrv:Database=dbphp7;server=localhost\SQLEXPRESS;ConnectionPooling=0", "sa", "root");
      $stmt = $conn->prepare("SELECT * FROM cidades ORDER BY nome");
      $stmt->execute();
      //fetchALL basicamente faço while do mysqli
      $results = $stmt->fetchALL(PDO::FETCH_ASSOC);
       
      Print do erro:

       
      Tenho um outro exercicio que fiz bem parecido, consumi a API de estados e inseri no banco de dados, esse funcionou normalmente.
      Alguém poderia me dar uma luz, não sei mais o que fazer.
      Era para ser simples rsrsrrs.
    • By osmarindy
      Boa noite Pessoal.
      Estou com o seguinte problema. Tenho duas tabelas principais "tblProjeto" e "tblItensProjeto", tenho que selecionar o projeto (tblProjeto) cujo o item 19 (tblItensProjeto) já esteja concluído (status 5) e que o item 15 (tblItensProjeto) não esteja concluído (status 5) e nem cancelado (status 4).
      Tenho o seguinte código:
      SELECT p.nmProjeto, l.nmLocalidade, f.usuario, r.nmRequisitante, p.dtSolicitacao,p.dtPrevisaoEntrega, s.nmStatus FROM tblProjeto as p inner join tblItensProjeto as i on i.idProjeto = p.idProjeto inner join tblLocalidade as l on l.idLocalidade = p.idLocalidade inner join tblFuncionario as f on f.idFuncionario = p.idFuncionario inner join tblRequisitante as r on r.idRequisitante = p.idRequisitante inner join tblStatusProj as s on s.idStatus = i.idStatus where (i.idAtividade = 19 and i.idStatus= 5 ) and (i.idAtividade = 15 and (i.idStatus <> 5 and i.idStatus <> 4))
      Se executo um  filtro de cada vez (where i.idAtividade = 19 and i.idStatus= 5 ) ou (i.idAtividade = 15 and (i.idStatus <> 5 and i.idStatus <> 4)) eles trazem resultados, mas quando deixo os dois filtros não funciona.
      Possuo 5 projetos que estão com a atividade 19 concluída e atividade 15 pendente. mas, não consigo com esse select trazer a informação. Alguém sabe como posso resolver?
    • By kania
      Olá pessoal,
      Estou tentando criar uma procedure no MySql para seja disparada sempre que um novo registro for cadastrado na tabela.
      Ela precisa atualizar um campo específico concatenando dois outros campos de outra tabela. Isto é possível?
       
      Preciso concatenar a coluna ID e ID_BANCO, da tabela empresa e atualizar a coluna CODIGO_OPERACAO da tabela proposta.
      Executando o que eu fiz funciona certinho, mais o que eu quero é que ela rode sozinha atualizando o campo CodigoOperacao do registro novo logo após este registro ser criado, isto porque preciso do novo ID criado, do Documento cadastrado e do Id_banco cadastrado para poder atualizar o mesmo registro.
       
      DELIMITER $$ CREATE PROCEDURE pr_codigo_operacao(IN _Id INT, IN _Documento VARCHAR(50), IN _IdBanco VARCHAR(50)) BEGIN UPDATE propostas SET CodigoOperacao = CONCAT(_Documento, "-", _IdBanco) WHERE Id = _Id; END $$ Criei um trigger para chamar a procedure, porém a mesma esta dando erro quando tento fazer um INSERT,
       
      ERRO
      #1442 - Can't update table 'propostas' in stored function/trigger because it is already used by statement which invoked this stored function/trigger
       
      DELIMITER $$ CREATE TRIGGER tgr_atualiza_codigo_operacao AFTER INSERT ON propostas FOR EACH ROW BEGIN CALL pr_codigo_operacao (new.Id, new.DocumentoCliente, new.Id_banco); END $$  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.