Jump to content

Search the Community

Showing results for tags 'postgres'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento e Banco de Dados
    • HTML e CSS
    • Java
    • Javascript
    • .NET
    • PHP
    • Python
    • Ruby
    • Mobile
    • Ambientes de Desenvolvimento
    • Arquitetura e Métodos Ágeis
    • Banco de Dados
    • DevOps
    • Desenvolvimento de Games
    • E-Commerce e Pagamentos Online
    • SEO e Otimizações
    • WordPress
    • Algoritmos & Outras Tecnologias
  • Design e Produto
    • Fotografia
    • Photoshop
    • Design de interfaces e UX
    • Edição/Produção de Vídeos
    • Marketing Online
    • Desenho, Ilustração e 3D
  • Entretenimento e uso pessoal
    • Geral
    • Segurança & Malwares
    • Gadgets e wearable
    • Softwares e Apps
    • Entretenimento

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 19 results

  1. Tenho uma "rede social" de artigos, e existem mais de 5 milhoes de artigos registrados. Meu backend foi feito com Django, então foi utilizado o Postgres. Estou com um grande problema: para fazer a consulta na tabela de artigos, está SUPER lento, claro q o motivo (creio eu), é a quantidade de linhas (mais de 5 milhoes) e a quantidade de texto da coluna do corpo do artigo. Mas como arquitetar meu banco de dados para para ser tipo o wikipedia? Como deixar minha consulta rapida? Separar em varios bancos? Como essas empresas gigantes (facebook, wikipedia, amazon, google) fazem pra suportar milhoes de dados? O meu problema será q é o Postgres, q não é preparado pra isso? Obrigado.
  2. Fiz o mapeamento da atividade e Fiz o código, mas notei q da erro bem próximo as chaves. Sou iniciante, não tenho noção do erro , como o q é ou que pode ser.agradeço a ajuda! CREATE TABLE CLIENTE( cod_cliente INTEGER NOT NULL, nome_cliente VARCHAR(30) NOT NULL, num_pedido INTEGER, PRIMARY KEY(COD_CLIENTE) ); CREATE TABLE TELEFONE ( cod_cliente INTEGER NOT NULL, telefone_fixo VARCHAR (10), telefone_celular VARCHAR (10), FOREIGN KEY ( COD_CLIENTE) REFERENCES CLIENTE (COD_CLIENTE) PRIMARY KEY ( COD_CLIENTE) REFERENCES CLIENTE (COD_CLIENTE) ); CREATE TABLE EMAIL_CLIENTE ( cod_cliente INTEGER NOT NULL, email_cliente, VARCHAR (30), email2_cliente VARCHAR (30), FOREIGN KEY ( COD_CLIENTE) REFERENCES CLIENTE ( COD_CLIENTE) PRIMARY KEY ( COD_CLIENTE) REFERENCES CLIENTE (COD_CLIENTE) ); CREATE TABLE VENDA ( num_pedido INTEGER, dt_pedido TIMESTAMP, cod_pedido INTEGER, PRIMARY KEY (NUM_PEDIDO) FOREIGN KEY (COD_PRODUTO) REFERENCES PRODUTO (COD_PRODUTO); CREATE TABLE VENDA_CONTEM( num_pedido INTEGER, cod_produto INTEGER, pco_produto NUMERIC (6,0), qtd NUMERIC (6,0), PRIMARY KEY (NUM_PEDIDO) REFERENCES VENDA( NUM_PEDIDO) FOREIGN KEY ( COD_PRODUTO) REFERENCES PRODUTO ( COD_PRODUTO) ); CREATE TABLE PRODUTO ( cod_produto INTEGER, nom_produto VARCHAR (30) NOT NULL, est_produto NUMERIC (6,0), pco_produto NUMERIC (6,0), fabricante VARCHAR (30), FOREIGN KEY (NUM_PEDIDO) REFERENCES COMPRA ( NUM_PEDIDO) PRIMARY KEY (COD_PRODUTO) ); CREATE TABLE COMPRA ( num_pedido INTEGER, dta_pedido TIMESTAMP, FOREIGN KEY (NUM_PEDIDO) REFERENCES VENDA (NUM_PEDIDO) PRIMARY KEY (NUM_PEDIDO) REFERNCES VENDA(NUM_PEDIDO) ); CREATE TABLE FORNECEDOR ( cod_fornecedor INTEGER, nom_fornecedor VARCHAR (30) NOTT NULL, rua_local VARCHAR (30), numero_local VARCHAR (30), PRIMARY KEY ( COD_FORNECEDOR) ); CREATE TABLE TELEFONE_FORNECEDOR( cod_fornecedor INTEGER, telefone1 VARCHAR (10), telefone2 VARCHAR (10), FOREIGN KEY ( COD_FORNECEDOR) REFERENCES FORNECEDOR ( COD_FORNECEDOR) PRIMARY KEY ( COD_FORNECEDOR) REFERENCES FORNECEDOR ( COD_FORNECEDOR) ); CREATE TABLE EMAIL_FORNECEDOR ( cod_fornecedor INTEGER, email1_fornecedor VARCHAR (30), email2_fornecedor VARCHAR (30), FOREIGN KEY (COD_FORNECEDOR) REFERENCES FORNECEDOR ( COD_FORNECEDOR) PRIMARY KEY ( COD_FORNECEDOR) REFERENCES FORNECEDOR ( COD_FORNECEDOR) );
  3. Olá pessoal, estou precisando de uma grande ajuda, tenho duas tabelas no postgres, são elas: PESSOA e a outra é ENDERECOS, elas estão relacionadas, oq acontece é que no php eu preciso recuperar o valor do id através da função nextval('nome_da_sequnce'), e não estou sabendo fazer, preciso recuperar o ultimo id e depois realizar o insert nas tabelas relacionadas, poderiam me dar um exemplo de como implementar isso? abaixo deixo o meu codigo php, acredito que esteja errado pois não esta gravando no banco. Minhas tabelas do banco: CREATE TABLE public.pessoa ( codigo_aluno integer NOT NULL DEFAULT nextval('pessoa_codigo_aluno_seq'::regclass), cpf character varying(11) COLLATE pg_catalog."default" NOT NULL, nome character varying(30) COLLATE pg_catalog."default" NOT NULL, sexo character varying(30) COLLATE pg_catalog."default" NOT NULL, nascimentodata date NOT NULL, email character varying(50) COLLATE pg_catalog."default" NOT NULL, endereco integer, CONSTRAINT pessoa_pkey PRIMARY KEY (codigo_aluno), CONSTRAINT pessoa_endereco_fkey FOREIGN KEY (endereco) REFERENCES public.enderecos (codigo_endereco) ) CREATE TABLE public.enderecos ( codigo_endereco integer NOT NULL DEFAULT nextval('enderecos_codigo_endereco_seq'::regclass), logradouro character varying(200) COLLATE pg_catalog."default" NOT NULL, bairro character varying(80) COLLATE pg_catalog."default" NOT NULL, cidade character varying(100) COLLATE pg_catalog."default" NOT NULL, uf character varying(2) COLLATE pg_catalog."default" NOT NULL, cep character varying(20) COLLATE pg_catalog."default" NOT NULL, CONSTRAINT enderecos_pkey PRIMARY KEY (codigo_endereco) ) ****** ABAIXO O PHP *************************************** <?php try { require_once "conexao.php"; $dados = filter_input_array(INPUT_POST, FILTER_DEFAULT); $sql = "select nextval('pessoa_codigo_aluno_seq')"; $seq = $conn->prepare($sql); $id = $seq->execute(); $id = $seq->fetchAll(PDO::FETCH_ASSOC); $sql = "insert into pessoa (cpf, nome, sexo, nascimentodata, email, endereco ) values (:cpf, :nome, :sexo, :nascimentodata, :email, :fk_endereco )"; $inserir = $conn->prepare($sql); $inserir->bindParam(":cpf", $dados["cpf"]); $inserir->bindParam(":nome", $dados["nome"]); $inserir->bindParam(":sexo", $dados["sexo"]); $inserir->bindParam(":nascimentodata", $dados["nascimentodata"]); $inserir->bindParam(":email", $dados["email"]); $inserir->bindParam(":fk_endereco", $id['codigo_endereco']); $inserir->execute(); // Gravando dados de endereço $sql_end = "insert into enderecos (codigo_endereco, logradouro, bairro, cidade, uf, cep, pessoa )values(:codigo_endereco, :logradouro,:bairro,:cidade,:uf,:cep, :pessoa)"; $end = $conn->prepare($sql_end); $end->bindParam(":codigo_endereco", $id['codigo_endereco']); $end->bindParam(":logradouro", $dados["logradouro"]); $end->bindParam(":bairro", $dados["bairro"]); $end->bindParam(":cidade", $dados["cidade"]); $end->bindParam(":uf", $dados["uf"]); $end->bindParam(":cep", $dados["cep"]); $end->execute(); echo "Dados gravados com sucesso!"; } catch (Exception $e) { echo "Mensagem: " . $e->getMessage() . "<br/>"; echo "Linha do Erro: " . $e->getLine() . "<br/>"; } PRECISO CONSEGUIR INSERIR OS DADOS NAS DUAS TABELAS INSERINDO OS IDS RECUPERADOS PELO NEXTVAL()
  4. Possuo um formulário com os seguintes dados, nome, idade, cpf, sexo, logradouro, bairro, cidade, eu possuo 1 banco com as seguintes tabelas, TABELA PESSOA E TABELA ENDERECO, ao enviar o formulário eu preciso gravar os dados pessoais na tabela pessoa e os dados de endereço na tabela endereco, o banco é postgres, como fazer isso? Poderiam me dar um exemplo? Só uma observação: Estou usando PDO e com relação as tabelas, elas estão relacionadas entre si pela chave primária. Acredito que a solução seja simples, mas sou iniciante em php, preciso dessa força para continuar meus estudos. nome, idade ,cpf, sexo Sege as tabelas do meu banco postgres: create table pessoa( codigo serial not null, nome varchar(30) not null, idade int not null, cpf varchar(11) not null, sexo varchar(20) not null ); CREATE TABLE public.enderecos ( codigo integer NOT NULL DEFAULT nextval('enderecos_codigo_seq'::regclass), logradouro character varying(80) COLLATE pg_catalog."default" NOT NULL, bairro character varying(80) COLLATE pg_catalog."default" NOT NULL, cidade character varying(80) COLLATE pg_catalog."default" NOT NULL, uf character varying(2) COLLATE pg_catalog."default", cep character varying(9) COLLATE pg_catalog."default", pessoa integer, CONSTRAINT codigo_end PRIMARY KEY (codigo), CONSTRAINT enderecos_pessoa_fkey FOREIGN KEY (pessoa) REFERENCES public.pessoa (codigo) MATCH SIMPLE ON UPDATE NO ACTION ON DELETE NO ACTION ) WITH ( OIDS = FALSE ) TABLESPACE pg_default; ALTER TABLE public.enderecos OWNER to postgres; AQUI MEU FORMULÁRIO: <form action="grava.php" method="post"> Nome: <input type="text" name="nome"><br> CPF:<input type="text" name="cpf"><br> Sexo: <input type="text" name="sexo"><br> Idade: <input type="text" name="idade"><br> Logradouro: <input type="text" name="logradouro"><br> Bairro: <input type="text" name="bairro"><br> Cidade: <input type="text" name="cidade"><br> Cep: <input type="text" name="cep"><br> <input type="submit" value="Cadastrar"> </form> ERQUIVO enviar.php: <?php try { require_once "conexao.php"; $dados = filter_input_array(INPUT_POST, FILTER_DEFAULT); // Gravando dados pessoais $sql = "insert into pessoa (cpf, nome, sexo, nascimentodata, email ) values (:cpf, :nome, :sexo, :nascimentodata, :email )"; $inserir = $conn->prepare($sql); $inserir->bindParam(":cpf", $dados["cpf"]); $inserir->bindParam(":nome", $dados["nome"]); $inserir->bindParam(":sexo", $dados["sexo"]); $inserir->bindParam(":nascimentodata", $dados["nascimentodata"]); $inserir->bindParam(":email", $dados["email"]); $inserir->execute(); // Gravando dados de endereço $sql_end = "insert into enderecos (logradouro, bairro, cidade, uf, cep )values(:logradouro,:bairro,:cidade,:uf,:cep)"; $end = $conn->prepare($sql_end); $end->bindParam(":logradouro", $dados["logradouro"]); $end->bindParam(":bairro", $dados["bairro"]); $end->bindParam(":cidade", $dados["cidade"]); $end->bindParam(":uf", $dados["uf"]); $end->bindParam(":cep", $dados["cep"]); $end->execute(); echo "Dados gravados com sucesso!"; } catch (Exception $e) { echo "Mensagem: " . $e->getMessage() . "<br/>"; echo "Linha do Erro: " . $e->getLine() . "<br/>"; }
  5. Silva Mateus

    Erro ao testar o pool de conexões

    Olá amigos do fórum. Hoje trago a seguinte questão: Estou iniciando os estudos sobre conexões JAVA/Postgres. E me deparei com o seguinte problema: Quando tento testar a minha classe chamada, "PoolDeConexoes", ela me retorna os seguintes erros: "Exception in thread "main" java.lang.NullPointerException at BDAccess.PoolDeConexoes.<init>(PoolDeConexoes.java:13) at BDAccess.PoolDeConexoes.getInstance(PoolDeConexoes.java:21) at BDAccess.Main.main(Main.java:9)" Porém, a IDE não me exibe nenhum erro semântico durante a digitação, então, o mais provável é que se trata de um erro lógico. Abaixo estão as minhas classes, todas comentadas com o devido processo do pool de conexões, nos moldes solicitados pelo meu professor. package BDAccess; import java.util.ArrayList; public class PoolDeConexoes { private static ArrayList<Conexao> conexoes; private static PoolDeConexoes pool; private PoolDeConexoes() { Conexao cn1 = new Conexao(); Conexao cn2 = new Conexao(); conexoes.add(cn1); conexoes.add(cn2); getConexao(); } public static PoolDeConexoes getInstance() { if(pool == null) { pool = new PoolDeConexoes(); } return pool ; } public Conexao getConexao() { if(conexoes == null) { Conexao c = new Conexao(); conexoes.add(c); return c; }else { for(Conexao s:conexoes) { if(s.isLivre()) { return s; } } } return null; } } Acima, a classe denominada: PoolDeConexoes.java package BDAccess; import java.sql.Connection; import java.sql.DriverManager; import java.sql.Statement; public class Conexao { private Connection cnx; private boolean livre; public Conexao() { this.livre = true; Parametros prm = Parametros.getInstance(); String driverJDBC = prm.getParametros("driverJdbc"); String urlBanco = prm.getParametros("urlBanco"); String nomeUsuario = prm.getParametros("nomeUsuario"); String senha = prm.getParametros("senha"); try { Class.forName(driverJDBC); System.out.println("Driver importado!"); cnx = DriverManager.getConnection(urlBanco, nomeUsuario, senha); System.out.println("Conexão estabelecida"); }catch (Exception e) { System.out.println("Conexão não estabelecida!"); } } public Connection getConnection() { return cnx; } public void reserva() { if(livre) { livre = false; }else { System.out.println("Esta conexão já está em uso!"); } } public void libera() { livre = true; } public boolean isLivre() { return livre; } } Acima, a classe com o objeto Conexão. package BDAccess; import java.io.IOException; import java.util.ArrayList; public class Main { public static void main(String[] args) throws IOException{ PoolDeConexoes plc = PoolDeConexoes.getInstance(); System.out.println(plc.getConexao()); } } E aqui o meu método principal. Agradeço desde já pelo auxílio de vocês sobre a minha questão.
  6. Olá Sou iniciante e estava tentando criar uma função no postgres que os resultado fosse dinâmico de acordo com os parâmetros passados e assim a clausula where fosse construída testando os campos. Minha função da erro justamente na hora que passa a string do select para ser executada. A FUNÇÃO: CREATE OR REPLACE FUNCTION public.get_auditoria( vcpf character varying DEFAULT NULL, vlogin character varying DEFAULT NULL, vom character varying DEFAULT NULL, vidregistro bigint DEFAULT NULL, vmodulo character varying DEFAULT NULL, vacao text DEFAULT NULL, vip character varying DEFAULT NULL ) RETURNS SETOF record LANGUAGE 'plpgsql' COST 100 VOLATILE ROWS 1000 AS $BODY$ DECLARE txtsql character varying :='SELECT cpf FROM auditoria WHERE 1=1'; BEGIN IF vcpf <> NULL THEN txtsql := txtsql || ' AND cpf=vcpf'; END IF; RETURN QUERY (txtsql); RETURN; END; $BODY$; ALTER FUNCTION public.get_auditoria( character varying, character varying, character varying, bigint, character varying, text, character varying ) OWNER TO postgres; O ERRO: ERROR: ERRO: erro de sintaxe em ou próximo a "txtsql" LINE 28: RETURN QUERY (txtsql); ^ SQL state: 42601 Character: 487
  7. Estou desenvolvendo um sisteminha em, pra fins de conhecimento. Estou usando eclipse, photon ,postgres, hibernate, maven e primefaces. Ele está gravando os dados normalmente no banco de dados. A data e hora ele esta pegando automaticamente do sistema. Até ai esta blz. O problema está qdo atualizo os dados, a data e a hora nao estao atualizando, porem outros dados estao. Segue os dados: meu domain: package br.pro.silvio.prati.domain; import java.util.Date; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.Temporal; import javax.persistence.TemporalType; @SuppressWarnings("serial") @Entity public class Area extends GenericDomain { @Column(name = "nome",length =20, nullable = false) private String nome; @Column( name = "status",length =10) private String status; @Column(name = "cadpor",length =20) private String cadpor; @Column(name ="datcad") @Temporal(TemporalType.DATE) private Date datcad = new java.sql.Date(System.currentTimeMillis()); @Column(name = "hora") @Temporal(TemporalType.TIME) private Date hora =new java.sql.Date(System.currentTimeMillis()); public String getNome() { return nome; } public void setNome(String nome) { this.nome = nome; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getCadpor() { `return cadpor;` } public void setCadpor(String cadpor) { this.cadpor = cadpor; } public Date getDatcad() { return datcad; } public void setDatcad(Date datcad) { this.datcad = datcad; } public Date getHora() { return hora; } public void setHora(Date hora) { this.hora = hora; } } meu dao generico: package br.pro.silvio.prati.dao; import java.lang.reflect.ParameterizedType; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.criterion.Restrictions; import br.pro.silvio.prati.util.HibernateUtil; public class GenericDAO<Entidade> { private Class<Entidade> classe; @SuppressWarnings("unchecked") public GenericDAO() { this.classe = (Class<Entidade>) ((ParameterizedType) getClass().getGenericSuperclass()) .getActualTypeArguments()[0]; } public void salvar(Entidade entidade) { Session sessao = HibernateUtil.getFabricaDeSessoes().openSession(); Transaction transacao = null; try { transacao = sessao.beginTransaction(); sessao.save(entidade); transacao.commit(); } catch (RuntimeException erro) { if (transacao != null) { transacao.rollback(); } throw erro; } finally { sessao.close(); } } @SuppressWarnings("unchecked") public List<Entidade> listar() { Session sessao = HibernateUtil.getFabricaDeSessoes().openSession(); try { Criteria consulta = sessao.createCriteria(classe); List<Entidade> resultado = consulta.list(); return resultado; } catch (RuntimeException erro) { throw erro; } finally { sessao.close(); } } @SuppressWarnings("unchecked") public Entidade buscar(Long codigo) { Session sessao = HibernateUtil.getFabricaDeSessoes().openSession(); try { Criteria consulta = sessao.createCriteria(classe); consulta.add(Restrictions.idEq(codigo)); Entidade resultado = (Entidade) consulta.uniqueResult(); return resultado; } catch (RuntimeException erro) { throw erro; } finally { sessao.close(); } } public void excluir(Entidade entidade) { Session sessao = HibernateUtil.getFabricaDeSessoes().openSession(); Transaction transacao = null; try { transacao = sessao.beginTransaction(); sessao.delete(entidade); transacao.commit(); } catch (RuntimeException erro) { if (transacao != null) { transacao.rollback(); } throw erro; } finally { sessao.close(); } } public void editar(Entidade entidade) { Session sessao = HibernateUtil.getFabricaDeSessoes().openSession(); Transaction transacao = null; try { transacao = sessao.beginTransaction(); sessao.update(entidade); transacao.commit(); } catch (RuntimeException erro) { if (transacao != null) { transacao.rollback(); } throw erro; } finally { sessao.close(); } } public void merge(Entidade entidade) { Session sessao = HibernateUtil.getFabricaDeSessoes().openSession(); Transaction transacao = null; try { transacao = sessao.beginTransaction(); sessao.merge(entidade); transacao.commit(); } catch (RuntimeException erro) { if (transacao != null) { transacao.rollback(); } throw erro; } finally { sessao.close(); } } } meu dao: package br.pro.silvio.prati.dao; import br.pro.silvio.prati.domain.Area; public class AreaDAO extends GenericDAO<Area>{ } meu bean: package br.pro.silvio.prati.bean; import java.io.Serializable; import java.util.List; import javax.annotation.PostConstruct; import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; import javax.faces.event.ActionEvent; import org.omnifaces.util.Messages; import br.pro.silvio.prati.dao.AreaDAO; import br.pro.silvio.prati.domain.Area; @SuppressWarnings("serial") @ManagedBean @ViewScoped public class AreaBean implements Serializable { private Area area; private List<Area> areas; public Area getArea() { return area; } public void setArea(Area area) { this.area = area; } public List<Area> getAreas() { return areas; } public void setAreas(List<Area> areas) { this.areas = areas; } @PostConstruct public void listar() { try { AreaDAO areaDAO = new AreaDAO(); areas = areaDAO.listar(); } catch (RuntimeException erro) { Messages.addGlobalError("Ocorreu um erro ao tentar listar as AREAS"); erro.printStackTrace(); } } public void novo() { area = new Area(); } public void salvar() { try { AreaDAO areaDAO = new AreaDAO(); areaDAO.merge(area); novo(); areas = areaDAO.listar(); Messages.addGlobalInfo("Area salvo com sucesso"); } catch (RuntimeException erro) { Messages.addGlobalError("Ocorreu um erro ao tentar salvar a AREA"); erro.printStackTrace(); } } public void excluir(ActionEvent evento) { try { area = (Area) evento.getComponent().getAttributes().get("areaSelecionado"); AreaDAO areaDAO = new AreaDAO(); areaDAO.excluir(area); areas = areaDAO.listar(); Messages.addGlobalInfo("Estado removido com sucesso"); } catch (RuntimeException erro) { Messages.addFlashGlobalError("Ocorreu um erro ao tentar remover o estado"); erro.printStackTrace(); } } public void editar(ActionEvent evento){ area = (Area) evento.getComponent().getAttributes().get("areaSelecionado"); } } meu xhtml: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:f="http://xmlns.jcp.org/jsf/core" xmlns:p="http://primefaces.org/ui"> <h:head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>Are</title> </h:head> <h:body> <p:growl id="mensagem" /> <h:form id="formListagem"> <p:panel header="AREA - Listagem"> <p:dataTable id="tabela" emptyMessage="Nenhum registro encontrado." paginator="true" value="#{areaBean.areas}" var="item" rows="8"> <f:facet name="header"> <p:commandButton value="Novo" oncomplete="PF('dialogo').show();" actionListener="#{areaBean.novo}" update=":formCadastro:painel"> <f:actionListener type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" /> </p:commandButton> </f:facet> <p:column headerText="Código" sortBy="#{item.codigo}" filterBy="#{item.codigo}"> <h:outputText value="#{item.codigo}" /> </p:column> <p:column headerText="Descricao" sortBy="#{item.nome}" filterBy="#{item.nome}"> <h:outputText value="#{item.nome}" /> </p:column> <p:column headerText="Status" sortBy="#{item.status}" filterBy="#{item.status}"> <h:outputText value="#{item.status}" /> </p:column> <p:column headerText="Cadastrado por" sortBy="#{item.cadpor}" filterBy="#{item.cadpor}"> <h:outputText value="#{item.cadpor}" /> </p:column> <p:column headerText="Data" sortBy="#{item.datcad}" filterBy="#{item.datcad}"> <h:outputText value="#{item.datcad}"> <f:convertDateTime locale="pt_BR" /> </h:outputText> </p:column> <p:column headerText="Hora"> <h:outputText value="#{item.hora}" /> </p:column> <p:column headerText="Opções"> <p:commandButton icon="ui-icon-trash" actionListener="#{areaBean.excluir}" update=":mensagem :formListagem:tabela"> <p:confirm header="Confirmação" message="Deseja excluir 'AREA'?" icon="ui-icon-alert" /> <f:attribute name="areaSelecionado" value="#{item}" /> </p:commandButton> <p:commandButton icon="ui-icon-pencil" actionListener="#{areaBean.editar}" update=":formCadastro:painel" oncomplete="PF('dialogo').show();"> <f:attribute name="areaSelecionado" value="#{item}" /> <f:actionListener type="org.omnifaces.eventlistener.ResetInputAjaxActionListener" /> </p:commandButton> </p:column> </p:dataTable> <p:confirmDialog global="true" showEffect="fade" hideEffect="fade"> <p:commandButton value="Sim" type="button" styleClass="ui-confirmdialog-yes" icon="ui-icon-check" /> <p:commandButton value="Não" type="button" styleClass="ui-confirmdialog-no" icon="ui-icon-close" /> </p:confirmDialog> </p:panel> </h:form> <p:dialog header="AREA - Cadastro" widgetVar="dialogo" draggable="false" resizable="false" modal="true" closable="false"> <h:form id="formCadastro"> <h:panelGrid id="painel" columns="2"> <p:outputLabel value="Descrição:" /> <p:inputText maxlength="30" size="20" value="#{areaBean.area.nome}" required="true" requiredMessage="O campo Descricao é obrigatório!" /> <p:outputLabel value="Situação:" /> <p:selectOneMenu value="#{areaBean.area.status}" required="true" requiredMessage="O campo Situacao é obrigatório!"> <f:selectItem itemValue="" itemLabel="Selecione.." /> <f:selectItem itemValue="Ativo" itemLabel="Ativo" /> <f:selectItem itemValue="Inativo" itemLabel="Inativo" /> </p:selectOneMenu> </h:panelGrid> <h:panelGrid columns="2"> <p:commandButton value="Salvar" actionListener="#{areaBean.salvar}" update=":mensagem :formCadastro:painel :formListagem:tabela" /> <p:commandButton value="Fechar" oncomplete="PF('dialogo').hide();" /> </h:panelGrid> </h:form> </p:dialog> </h:body> </html> ele grava de boa a data e a hora , mas quando é pra atualizar, só atualiza outros campos mas não a data e a hora. o que pode ser?
  8. diego.baiao

    Delete/Truncate

    Olá pessoal bom dia! Preciso de uma ajuda com um detalhe no banco de dados no caso é postgres v.9.4 , explicando a situação estou fazendo uma manutenção de dados de certos logs que gero e tenho exemplo uma tabela que é envios.envio_contato_log_status ela tinha mais 220GB só nela eu limpei ficou de boa (agora esta zerado e nem lista abaixo), só que ao rodar o código que mede o tamanho das tabelas vejo que tenho uma de 45GB informados como consigo apagar esse cara envios.envio_contato_log_status_pkey (chave primaria da tabela acima referida envios.envio_contato_log_status) não entendi o banco ele armazena dados nas chaves primarias, indexadores, etc... Minha duvida se tem algo que permite eu excluir esses dados, no caso sabemos que essa tabela não é mais usada. Mais queria manter a estrutura do campos mesmo que vazia por enquanto e eliminar apenas esses 45GB que não tenho ideia de como remover esse kara.
  9. Boa tarde à todos. Estou fazendo um sistema bem simples para um cliente. Basicamente ele quer cadastrar algumas informações sobre veículos (marca, modelo, cor e etc) e anexar alguns arquivos pdf ao registro. Até aí tudo bem, já consegui fazer. O que não estou conseguindo - e aí vai a ajuda de vocês: preciso exibir os dados cadastrados do veículo, após busca pela placa e buscar esses arquivos pdf cadastrados num campo bytea do postegre e quando clicar no link (nome do arquivo - ex: contrato.pdf) tem que aparecer num iframe logo abaixo. O grande problema é que não sei como recuperar o arquivo do campo bytea, até sei por download, mas não é o caso. Resumindo: o cliente busca o veículo pela placa, são exibidos modelo, marca, cor, ano e etc. Logo abaixo deve aparecer os arquivos cadastrados: contrato.pdf recibo de venda.pdf laudo.pdf e por aí vai. Esses arquivos estão num campo bytea do postgre e quando eu clicar nesses links, deve buscá-los no banco e fazê-los aparecer no iframe; fazer aparecer no iframe eu consigo tendo o arquivo em uma pasta, mas não sei como fazer buscando o banco. Bom, acho que é isso amigo. Agradeço muito e qualquer ajuda é bem vinda. Abraço. PS.: Não quero salvar os pdfs em pastas, queria no banco mesmo.
  10. Walison Junior

    duvidas no posgres sql

    Galera, desculpe ai sou novo fórum e preciso de ajuda, Onde trabalho o postgres trabalha com um programa de gestão territorial , onde os usuários e seus privilégios são divididos em tabelas e trabalhamos com um banco de dados para cada tarefa. gostaria de saber se teria um jeito de coloca esses usuários para acessar todos os banco com sua respectivas permissões. sem ter que ir em um a um e adicionar manual? Grato
  11. Olá boa tarde! Queria tirar uma duvida de como posso melhorar o desempenho no cenário citado abaixo: 1 - Aplicação desenvolvido com PHP (Zend Framework 1) * sei que esta obsoleto mais... o código é extenso demais para mudança agora! 2 - Banco de dados Postgres 9.6.0 (um banco unico onde tudo está nele, relatorios, envios, etc... todo serviço nele) O sistema: 1.1 - Plataforma de envios de mensagens via web e via api, com diversos tratamentos pesados incluindo "strings". (citei string que sabemos que compração de string é pesada) e tem clientes que enviam 50.000 em requisições exemplo de 5000 cada requisição... tem envios que chegam a 140.000 e nossa aplicação pega e trata tudo que tiver disponível em cada tarefa no CRON que passa de minuto em minuto. 2.2 - Banco de dados "Postgres" com diversas tabelas interligadas (80 tabelas) mais ou menos, usamos indexadores em algumas tabelas com campos de "inteiros" e "datas". (melhorou bem) mais mesmo assim está ruim o banco arreia constantemente com picos de 100% no hardware. A questão não é aumetnar o hardware por que o mesmo é bem pontente e com sobras para atender nossas necessidades. Nosso banco de dados tem em media 5.5 GB de dados e em média chega a aumentar por dia 100MB com picos de vez em quando de 300MB . Quando temos envios muito grandes isso consume muito banco, nosso sistema funciona de modo que temos tarefas rodando em segundo plano que são chamadas em periodos programados sendo que as mais importantes rodam de minuto a minuto, isto é, a cada 1 minuto. O hardware é potente 8 nucleos de processamento e 16GB de ram da Azure. Passamos por muitas vezes com altos disparos dessas mensagens e a gama de tratamento nas mensagens e endereços fazem o banco chegar a picos de 100% fazendo as vezes o nosso sistema ficar fora do ar por alguns segundos. Estávamos pensando em usar MONGO_DB / NO SQL para montar um segundo banco de dados e separar os serviços em microserviços para aliviar as rotinas da aplicação e estressar menos o banco de dados.Também balanceamento de carga mais seria em segundo momento... Alguém teria uma dica de correção na implementação para conseguir uma melhora no serviço para suavizar esses processos de pesados, tipo dividir o banco em servidores diferentes, usar mciroserviços, algum tipo de banco especifico que alguem tenha experiência e esteja rodando atualmente, alguma técnica funcional para esse caso ?
  12. Prezados, Criei um usuário e um banco na Amazon AWS e depois defini seu proprietário, usando o SQL. CREATE USER nomedousuario WITH NOSUPERUSER NOINHERIT NOCREATEDB NOCREATEROLE NOREPLICATION PASSWORD 'senha'; CREATE DATABASE "NomeDoBanco" WITH ENCODING = 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' CONNECTION LIMIT = -1; Alterei as permissões ALTER DATABASE "NomeDoBanco" OWNER TO nomedousuario; GRANT ALL PRIVILEGES ON DATABASE "NomeDoBanco" to nomedousuario; Agora preciso criar outro usuário para também acessar o banco, como fazer isso na AWS, tendo em vista que não deixam criar mais de um usuário serperuser?
  13. Guilherme Costa Lopes

    Erro Ao Subir Projeto

    O que estou errando, não consegui encontrar o erro.dispatcher-servlet.xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:jee="http://www.springframework.org/schema/jee" xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd "> <!-- ONDE ESTÃO OS COMPONENTES DO SPRING (EX:@Controller, @Repository, @Service e @Component ) --> <context:component-scan base-package="br.com.netsoft" /> <!-- SEM ESSA TAG ELE NÃO RETORNA O JSON --> <mvc:annotation-driven /> <!-- SEM ESSA TAG NÃO CARREGA OS CSS/JS --> <mvc:default-servlet-handler /> <!-- GERENCIAMENTO DO JPA PELO SPRING --> <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> <property name="persistenceUnitName" value="PERSISTENCE_UNIT" /> </bean> <!-- gerenciamento das transações --> <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"> <property name="entityManagerFactory" ref="entityManagerFactory" /> </bean> <tx:annotation-driven transaction-manager="transactionManager" /> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix"> <value>/WEB-INF/views/</value> </property> <property name="suffix"> <value>.html</value> </property> </bean> </beans>web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>DESIF</display-name> <servlet> <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/dispatcher-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> </web-app>Log no console 01:19:05,602 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.undertow.deployment.default-server.default-host./desif.UndertowDeploymentInfoService: org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./desif.UndertowDeploymentInfoService: java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet from [Module "deployment.desif.war:main" from Service Module Loader] at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.createServletConfig(UndertowDeploymentInfoService.java:1079) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.start(UndertowDeploymentInfoService.java:284) at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet from [Module "deployment.desif.war:main" from Service Module Loader] at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:198) at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363) at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351) at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93) at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService.createServletConfig(UndertowDeploymentInfoService.java:723) ... 6 more 01:19:05,608 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "desif.war")]) - failure description: { "WFLYCTL0080: Failed services" => {"jboss.undertow.deployment.default-server.default-host./desif.UndertowDeploymentInfoService" => "org.jboss.msc.service.StartException in service jboss.undertow.deployment.default-server.default-host./desif.UndertowDeploymentInfoService: java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet from [Module \"deployment.desif.war:main\" from Service Module Loader] Caused by: java.lang.ClassNotFoundException: org.springframework.web.servlet.DispatcherServlet from [Module \"deployment.desif.war:main\" from Service Module Loader]"}, "WFLYCTL0412: Required services that are not installed:" => ["jboss.undertow.deployment.default-server.default-host./desif.UndertowDeploymentInfoService"], "WFLYCTL0180: Services with missing/unavailable dependencies" => undefined }Servidor é Wildfly.Arquivo pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>br.com.netsoft</groupId> <artifactId>desif</artifactId> <version>1.0.0-SNAPSHOT</version> <packaging>war</packaging> <build> <finalName>desif</finalName> </build> <properties> <failOnMissingWebXml>false</failOnMissingWebXml> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <failOnMissingWebXml>false</failOnMissingWebXml> <java-version>1.8</java-version> <spring.version>5.0.0.RELEASE</spring.version> <org.aspectj-version>1.8.1</org.aspectj-version> <org.slf4j-version>1.6.6</org.slf4j-version> <!-- false - não precisa de XML --> <failOnMissingWebXml>false</failOnMissingWebXml> <!-- Thymeleaf --> <thymeleaf.version>3.0.3.RELEASE</thymeleaf.version> <!-- Thymeleaf - Layout Dialect --> <thymeleaf-layout-dialect.version>2.1.2</thymeleaf-layout-dialect.version> </properties> <repositories> <repository> <id>spring-milestones</id> <name>Spring Milestones</name> <url>https://repo.spring.io/libs-milestone</url> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> <dependencies> <!-- Métodos uteis para manipulação de String, métodos e etc --> <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency> <!-- Thymeleaf - Layout Dialect --> <dependency> <groupId>nz.net.ultraq.thymeleaf</groupId> <artifactId>thymeleaf-layout-dialect</artifactId> <version>${thymeleaf-layout-dialect.version}</version> </dependency> <!-- Thymeleaf - extras --> <dependency> <groupId>org.thymeleaf.extras</groupId> <artifactId>thymeleaf-extras-springsecurity4</artifactId> <version>3.0.1.RELEASE</version> </dependency> <!-- Thymeleaf --> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf</artifactId> <version>${thymeleaf.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring4</artifactId> <version>${thymeleaf.version}</version> <scope>compile</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <!-- Spring início --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-core</artifactId> <version>5.0.0.M4</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.0.0.M3</version> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-orm</artifactId> <version>${spring.version}</version> </dependency> <!-- Spring fim --> <!-- <dependency> --> <!-- <groupId>javax</groupId> --> <!-- <artifactId>javaee-api</artifactId> --> <!-- <scope>provided</scope> --> <!-- </dependency> --> <!-- AspectJ --> <!-- <dependency> --> <!-- <groupId>org.aspectj</groupId> --> <!-- <artifactId>aspectjrt</artifactId> --> <!-- <version>${org.aspectj-version}</version> --> <!-- </dependency> --> <!-- Logging início --> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-api</artifactId> <version>${org.slf4j-version}</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId> <version>${org.slf4j-version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> <version>${org.slf4j-version}</version> <scope>runtime</scope> </dependency> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.15</version> <exclusions> <exclusion> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> </exclusion> <exclusion> <groupId>javax.jms</groupId> <artifactId>jms</artifactId> </exclusion> <exclusion> <groupId>com.sun.jdmk</groupId> <artifactId>jmxtools</artifactId> </exclusion> <exclusion> <groupId>com.sun.jmx</groupId> <artifactId>jmxri</artifactId> </exclusion> </exclusions> <scope>runtime</scope> </dependency> <!-- Logging fim --> <!-- @Inject --> <!-- <dependency> --> <!-- <groupId>javax.inject</groupId> --> <!-- <artifactId>javax.inject</artifactId> --> <!-- <version>1</version> --> <!-- </dependency> --> <!-- <dependency> --> <!-- <groupId>commons-dbcp</groupId> --> <!-- <artifactId>commons-dbcp</artifactId> --> <!-- <version>1.2.2</version> --> <!-- </dependency> --> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId> <version>3.6.0.Final</version> </dependency> <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>4.1.0.Final</version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.0.0.GA</version> </dependency> <!-- Test --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.7</version> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>javax</groupId> <artifactId>javaee-api</artifactId> <version>7.0</version> <scope>provided</scope> </dependency> </dependencies> </dependencyManagement> </project>
  14. É o seguinte pessoal, preciso listar os registros de uma tabela (banco postgres), em uma página xhtml. Estou usando JSF framework Bootsfaces, o recurso DataTable. Já implementei Classe, Dao , Bean, verifiquei se a busca está correta várias vezes, mas não está listando na página. Poderiam me dar uma ajuda com isso? Página: <?xml version='1.0' encoding='UTF-8' ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <ui:decorate xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://xmlns.jcp.org/jsf/html" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" template="template.xhtml" xmlns:b="http://bootsfaces.net/ui" xmlns:p="http://primefaces.org/ui" xmlns:f="http://xmlns.jcp.org/jsf/core"> <ui:define name="title">SIAI - Atendimentos</ui:define> <ui:define name="conteudo"> <b:row styleClass="table-responsive"> <b:row> <b:column col-sm="4" col-md="4" styleClass=""> <h1>Atendimentos</h1> </b:column> <b:column col-sm="2" col-md="2" styleClass=""> </b:column> <b:column col-sm="6" col-md="6" style="padding: 30px 0px 10px 0px;"> <a href="cadastro-atendimento.jsf"><b:button look="info" size="md" value="Novo Atendimento"/></a> <!--O botão Editar abaixo é provisório, funcionando, o sistema vai exibir um ícone 'Editar' para cada ítem de atendimento da lista abaixo--> <a href="editar-atendimento.jsf"><b:button look="info" size="md" value="Editar Atendimento"/></a> </b:column> </b:row> <hr/> <h:form> <h:dataTable styleClass="table table-striped" value="#{atendimentoBean.atendimentos}" var="atendimento" > <h:column> <f:facet name="header"><h:outputText value="ID" /></f:facet> <h:outputText value="#{atendimento.id_atendimento}" /> </h:column> <h:column> <f:facet name="header"><h:outputText value="Jornalista" /></f:facet> <h:outputText value="#{atendimento.jornalista_atendido}" /> </h:column> <h:column> <f:facet name="header"><h:outputText value="Data/Hora" /></f:facet> <h:outputText value="#{atendimento.data_horario_abertura}" /> </h:column> <h:column> <f:facet name="header"><h:outputText value="Emissora" /></f:facet> <h:outputText value="#{atendimento.emissora}" /> </h:column> <h:column> <f:facet name="header"><h:outputText value="Situação" /></f:facet> <h:outputText value="#{atendimento.status}" /> </h:column> </h:dataTable> </h:form> </b:row> </ui:define> </ui:decorate> Classe entidade: package br.org.hu.sistemaatendimentoimprensa.negocio; import java.util.Date; public class Atendimento { private int id_atendimento; private Date data_horario_abertura; private String status; private Date data_hora_encerramento; private String resumo_pauta; private String inspiracao; private String assunto; private String informacoes; private String tipo_entrevista; private String emissora; private String programa; private String jornalista_atendido; private String usuario_logado; public Atendimento(){ } public void cadastrarAtendimento() { } public void editarAtendimento() { } public Date getData_horario_abertura() { return data_horario_abertura; } public void setData_horario_abertura(Date data_horario_abertura) { this.data_horario_abertura = data_horario_abertura; } public Date getData_hora_encerramento() { return data_hora_encerramento; } public void setData_hora_encerramento(Date data_hora_encerramento) { this.data_hora_encerramento = data_hora_encerramento; } public String getUsuario_logado() { return usuario_logado; } public void setUsuario_logado(String usuario_logado) { this.usuario_logado = usuario_logado; } public String getStatus() { return status; } public void setStatus(String status) { this.status = status; } public String getJornalista_atendido() { return jornalista_atendido; } public void setJornalista_atendido(String jornalista_atendido) { this.jornalista_atendido = jornalista_atendido; } public String getEmissora() { return emissora; } public void setEmissora(String emissora) { this.emissora = emissora; } public String getPrograma() { return programa; } public void setPrograma(String programa) { this.programa = programa; } public String getResumo_pauta() { return resumo_pauta; } public void setResumo_pauta(String resumo_pauta) { this.resumo_pauta = resumo_pauta; } public String getTipo_entrevista() { return tipo_entrevista; } public void setTipo_entrevista(String tipo_entrevista) { this.tipo_entrevista = tipo_entrevista; } public String getInspiracao() { return inspiracao; } public void setInspiracao(String inspiracao) { this.inspiracao = inspiracao; } public String getAssunto() { return assunto; } public void setAssunto(String assunto) { this.assunto = assunto; } public String getInformacoes() { return informacoes; } public void setInformacoes(String informacoes) { this.informacoes = informacoes; } public int getId_atendimento() { return id_atendimento; } public void setId_atendimento(int id_atendimento) { this.id_atendimento = id_atendimento; } @Override public int hashCode() { int hash = 7; hash = 13 * hash + this.id_atendimento; return hash; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Atendimento other = (Atendimento) obj; if (this.id_atendimento != other.id_atendimento) { return false; } return true; } public void getData_abertura(String string) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } public void getResumo_pauta(String string) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } } Classe Bean (tentem considerar apenas o listar()): package br.org.hu.sistemaatendimentoimprensa.beans; import br.org.hu.sistemaatendimentoimprensa.dao.AtendimentoDAO; import br.org.hu.sistemaatendimentoimprensa.negocio.Atendimento; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.faces.bean.ManagedBean; import javax.faces.bean.SessionScoped; @ManagedBean @SessionScoped public class AtendimentoBean { private Atendimento atendimento = new Atendimento(); public List<Atendimento> atendimentos = new ArrayList<>(); public AtendimentoBean() { } public void adicionar() throws SQLException{ AtendimentoDAO dao = new AtendimentoDAO(); dao.adicionar(atendimento); atendimento = new Atendimento(); } public void listar() throws SQLException { AtendimentoDAO AtendimentoDao = new AtendimentoDAO(); atendimentos = AtendimentoDao.buscar(); } public void selecionarEditar(Atendimento a){ Atendimento atend = new Atendimento(); atend = a; } public void editar() throws SQLException{ AtendimentoDAO dao = new AtendimentoDAO(); dao.alteraDAO(atendimento); atendimento = new Atendimento(); } public Atendimento getAtendimento() { return atendimento; } public List<Atendimento> getAtendimentos() { return atendimentos; } public void setAtendimentos(List<Atendimento> atendimentos) { this.atendimentos = atendimentos; } public void setAtendimento(Atendimento atendimento) { this.atendimento = atendimento; } //------------------------------------------------------------------------ // a variável e os métodos abaixo serviram para testar o funcionamento da estrutura String msg; public String getMsg() { return msg; } public void setMsg(String msg) { this.msg = msg; } public void exibeDados() { msg = atendimento.getJornalista_atendido() + " -- " + atendimento.getEmissora()+ " -- " + atendimento.getPrograma()+ " -- " + atendimento.getResumo_pauta()+ " -- " + atendimento.getTipo_entrevista()+ " -- " + atendimento.getInspiracao()+ " -- " + atendimento.getAssunto()+ " -- " + atendimento.getInformacoes(); } //------------------------------------------------------------------------------------------- } //package br.org.hu.sistemaatendimentoimprensa.beans; // //import br.org.hu.sistemaatendimentoimprensa.dao.AtendimentoDAO; //import br.org.hu.sistemaatendimentoimprensa.negocio.Atendimento; //import java.sql.SQLException; //import java.util.ArrayList; //import java.util.List; //import javax.faces.bean.ManagedBean; //import javax.faces.bean.SessionScoped; // // // //@ManagedBean //@SessionScoped //public class AtendimentoBean { // // private Atendimento atendimento = new Atendimento(); // public List<Atendimento> atendimentos = new ArrayList<>(); // // public AtendimentoBean() // { // // } // // public void adicionar() throws SQLException{ // AtendimentoDAO dao = new AtendimentoDAO(); // dao.adicionar(atendimento); // atendimento = new Atendimento(); // } // // public void listar() throws SQLException { // AtendimentoDAO dao = new AtendimentoDAO(); // atendimentos = dao.buscar(); // } // // public void selecionarEditar(Atendimento a){ // Atendimento atend = new Atendimento(); // atend = a; // } // // public void editar() throws SQLException{ // AtendimentoDAO dao = new AtendimentoDAO(); // dao.alteraDAO(atendimento); // atendimento = new Atendimento(); // } // // public Atendimento getAtendimento() { // return atendimento; // } // // public void setAtendimento(Atendimento atendimento) { // this.atendimento = atendimento; // } // // // // // //------------------------------------------------------------------------ // // a variável e os métodos abaixo serviram para testar o funcionamento da estrutura // String msg; // // public String getMsg() { // return msg; // } // // public void setMsg(String msg) { // this.msg = msg; // } // // public void exibeDados() // { // msg = atendimento.getJornalista_atendido() + " -- " + // atendimento.getEmissora()+ " -- " + // atendimento.getPrograma()+ " -- " + // atendimento.getResumo_pauta()+ " -- " + // atendimento.getTipo_entrevista()+ " -- " + // atendimento.getInspiracao()+ " -- " + // atendimento.getAssunto()+ " -- " + // atendimento.getInformacoes(); // } // //------------------------------------------------------------------------------------------- // // //} Classe DAO (Considerem apenas o buscar()) : package br.org.hu.sistemaatendimentoimprensa.dao; import br.org.hu.sistemaatendimentoimprensa.negocio.Atendimento; import br.org.hu.sistemaatendimentoimprensa.util.FabricaConexao; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; /** * * @author Simone */ public class AtendimentoDAO { public void adicionar(Atendimento atendimento) throws SQLException { Connection conexao = FabricaConexao.getConexao(); String sql = "INSERT INTO atendimento.atendimento(data_abertura, resumo_pauta, assunto, status,informacoes_passadas," + "tipo_entrevista,emissora_id_emissora, jornalista_id_jornalista)\n" + " VALUES (?,?,?,?,?,?,?,?)"; try { PreparedStatement st = conexao.prepareStatement(sql); //st.setDate(1, atendimento.getData_abertura()); st.setString(2, atendimento.getResumo_pauta()); st.setString(3, atendimento.getAssunto()); atendimento.setStatus("Ativo"); st.setString(4, atendimento.getStatus()); st.setString(5, atendimento.getInformacoes()); st.setString(6, atendimento.getTipo_entrevista()); st.setString(7, atendimento.getEmissora()); st.setString(8, atendimento.getJornalista_atendido()); //executa st.execute(); st.close(); } catch (SQLException e) { throw new RuntimeException(e); } } public List<Atendimento> buscar() throws SQLException { try{ Connection conexao = FabricaConexao.getConexao(); List<Atendimento> atendimentos = new ArrayList<>(); PreparedStatement st = conexao.prepareStatement("select * from atendimento.atendimento"); ResultSet rs = st.executeQuery(); while (rs.next()) { Atendimento atendimento = new Atendimento(); atendimento.setId_atendimento(rs.getInt("id_atendimento")); atendimento.setData_horario_abertura(rs.getDate("data_horario_abertura")); atendimento.setStatus(rs.getString("status")); atendimento.setData_hora_encerramento(rs.getDate("data_hora_encerramento")); atendimento.setResumo_pauta(rs.getString("resumo_pauta")); atendimento.setInspiracao(rs.getString("inspiracao")); atendimento.setAssunto(rs.getString("assunto")); atendimento.setInformacoes(rs.getString("informacoes")); atendimento.setTipo_entrevista(rs.getString("tipo_entrevista")); atendimento.setEmissora(rs.getString("emissora_id_emissora")); atendimento.setPrograma(rs.getString("programa_id_programa")); atendimento.setJornalista_atendido(rs.getString("jornalista_id_jornalista")); atendimento.setUsuario_logado(rs.getString("usuario_id_usuario")); atendimentos.add(atendimento); } return atendimentos; }catch(SQLException e){ Logger.getLogger(AtendimentoDAO.class.getName()).log(Level.SEVERE, null, e); return null; } } public void alteraDAO(Atendimento atendimento) throws SQLException { Connection conexao = FabricaConexao.getConexao(); String sql = "UPDATE atendimento.jornalista set data_abertura=?, resumo_pauta=?, assunto=?, status=?,informacoes_passadas=?," + "tipo_entrevista=?,emissora_id_emissora=?, jornalista_id_jornalista=? where id_atendimento=? "; try { PreparedStatement st = conexao.prepareStatement(sql); //st.setString(1,atendimento.getData_abertura()); st.setString(2,atendimento.getResumo_pauta()); st.setString(3,atendimento.getAssunto()); st.setString(4,atendimento.getStatus()); st.setString(5,atendimento.getInformacoes()); st.setString(6,atendimento.getTipo_entrevista()); st.setString(7,atendimento.getEmissora()); st.setString(8,atendimento.getJornalista_atendido()); st.setInt(9,atendimento.getId_atendimento()); st.execute(); st.close(); } catch (SQLException e) { throw new RuntimeException(e); } } }
  15. Eu tenho uma tabela de usuarios onde a chave primária é cod_usuario, e essa chave primária é referenciada para a tabela endereços, essa chave primária de usuarios, em enderecos tem que que ser primária também ou só estrangeira mesmo?
  16. Preciso de um select que retorne o cálculo mediana para postgres
  17. WiiSantos

    Não consigo inserir dados no POSTGRES

    Gostaria de uma ajuda, estou criando um exemplo simples de cadastro de chamado, utilizando PHP + Postgres. Porém estou com problemas para gravar dados preenchidos no formulário no bd: Segue os códigos: Formulário: <?php //Só ira aparecer o formulario caso a conexão seja feita. require_once "cnn.php"; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html, charset=utf-8"> <title>Cadastro de chamado</title> <link rel="stylesheet" type=text/css href="style.css"> </head> <body> <div id="cadastro"> <form method="post" action="gravar.php"> <table id="cad_table"> <tr> <td>Nº do chamado:</td> <td><input type="text" name="num" id="nome" class="txt" maxlength="5"/></td> </tr> <tr> <td>Assunto:</td> <td><input type="text" name="assunto" id="assunto" class="txt"/></td> </tr> <tr> <td>Descrição:</td> <td><textarea name= "descricao" type="text" rows="10" cols="40" maxlength="500" class="txt"></textarea> </tr> <tr> <td>Data:</td> <td><input type="date" name="data" maxlength="2" value="dd" size="2" class="txt"> <input type="date" name="data" maxlength="2" value="mm" size="2" class="txt"> <input type="date" name="data" maxlength="4" value="ano" size="4" class="txt"></td> </tr> <tr> <td colspan="2"> <input type="submit" value="cadastrar" id="Enviar" name="envia"> <input type="submit" value="Pesquisar" id="button"> <input type="submit" value="Alterar" id="button"> <input type="submit" value="Excluir" id="button"> </td> </tr> </table> </form> </div> </body> </html> (declarado a conexão). Conexão: <meta http-equiv="Content-Type" content="text/html, charset=utf-8"> <?php //Conexão com o banco de dados POSTGRESSQL. $bdcon = pg_connect("dbname=banco"); $con_string = "host=localhost port=5432 user=postgres password=ifsp"; if(!$bdcon = pg_connect ($con_string)) die ("Erro ao conectar ao banco<br>".pg_last_error($dbcon)); ?> Gravar.php: <?php require_once "cnn.php"; $query = pg_query("INSERT INTO chamados (Num, assunto, descricao, data) VALUES (". $_POST['num'] .", ". $_POST['assunto'] .", ". $_POST['descricao'] .", ". $_POST['data'] .");"); if ( ! $query ) { echo pg_result_error( $query ); } else { echo 'Query executada com sucesso'; } ?> Imagem do Banco: http://i.imgur.com/cCQzRcB.png?1 O banco de dados foi criado os campos também. Porém não acho solução para este insert.
  18. Boa tarde. Poderiam me ajudar? Estou com a seguinte necessidade abaixo. Fiz um exemplo baseado na mesma estrutura de XML que necessito ter como resultado. Acontece que não muitos elementos retornados em uma array e gostaria que eles fossem retornados como uma query para poder manipular os dados da forma que eu consigo dentro de minha programação. SELECT (xpath('/TAG1/TAGF/@Atrib1' ,cast( '<TAG1> <TAGF Atrib1="Aa01" Atrib2="Ab01" Atrib3="Ac01" Atrib4="Ad01" ><Filler>Teste</Filler></TAGF> <TAGF Atrib1="Aa02" Atrib2="Ab02" Atrib3="Ac02" Atrib4="Ad02" ><Filler>Teste</Filler></TAGF> <TAGF Atrib1="Aa03" Atrib2="Ab03" Atrib3="Ac03" Atrib4="Ad03" ><Filler>Teste</Filler></TAGF> </TAG1>' as xml)))[1] val1; Nesse exemplo, apenas mostra uma linha e uma coluna e eu gostaria de mostrar 3 linhas (no caso, uma linha para cada nó) e 4 colunas como os dados de cada atributo. Eu não sei como eu poderia fazer um looping ou algo parecido para retornar isso em uma query. As colunas seriam fixas, mas eu poderia ter N linhas. Alguém poderia me ajudar? Muito obrigado mesmo. Tulio
  19. Tenho uma tabela Login com 3 campos (USUARIO, SENHA, NOME), onde usuario é um apelido e nome é o nome completo. Fiz uma função que recebe 2 parametros, o 1º é o dado e o 2º é o tipo de pesquisa, se será pelo campo USUÁRIO ou pelo campo NOME, porém quando executo retorna 0 registros. CREATE OR REPLACE FUNCTION BuscarUsuario(VARCHAR(40), VARCHAR(10)) RETURNS SETOF Login AS $$ DECLARE TipoPesquisa ALIAS FOR $2; Pesquisar ALIAS FOR $1; BEGIN if (TipoPesquisa = 'USUARIO') THEN PERFORM * FROM Login WHERE Usuario=Pesquisar; ELSE IF TipoPesquisa = 'NOME' THEN PERFORM * FROM Login WHERE Nome=Pesquisar; END IF; END IF; END; $$ LANGUAGE 'plpgsql'; select * from BuscarUsuario('adenes','USUARIO'); Resultado: Total query runtime: 12 ms. 0 rows retrieved. Porque não estou conseguindo se existe o usuário adenes?
×

Important Information

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