Ir para conteúdo
Fórum Script Brasil

Denis Courcy

Moderadores
  • Total de itens

    3.089
  • Registro em

  • Última visita

Tudo que Denis Courcy postou

  1. Niguém. O controle de segurança é através da senha do servidor. Se não há acesso ao servidor, então não há acesso ao banco.
  2. Denis Courcy

    LISTAGEM EM PHP

    Tente assim: SELECT * FROM CLIENTE c INNER JOIN OS o ON c.Codcli = o.cpfos Este é o básico. As variações dependerão de seu sistema. Pode substituir o * pelos campos.
  3. Não. Não existe. Mas você pode usar um semáforo para inserção de registros para que somente um grave de cada vez. Assim você pode consultar o max(campo) que retornará 3 (no seu caso) e você grava 3+1 que é 4. Veja o uso de semáforo com a função Get_lock. Verifique o manual do Mysql para mais detalhes.
  4. Oi, 'claytonrrocha'! O arquivo bat é um arquivo .txt e utiliza comandos DOS. Um pequeno exemplo de um arquivo bat para o fim que você quer é: @echo off del *.LCK Deste jeito o arquivo elimina.bat (nome que dei ao nosso exemplo) deve ficar no mesmo diretório (pasta) onde os arquivos .LCK residirem.
  5. Oi 'Alexandre Pereira' A chave para isto está na segurança do servidor de banco. Se o servidor de banco é seguro, então não há como entrar nele, com direitos de administrador, e acessar o MySQL.
  6. Este também é um tipo de restrição semantica. E pode ficar residente no banco de dados, dentro de um trigger de inserção. Mas pode ser um tipo de integridade de domínio. Onde se compara o que está entrando com o retorno dele mesmo após ter sido submetido a uma função de uppercase. Se for igual entra se não não entra.
  7. Denis Courcy

    Consulta no BD

    Se você usou a forma normal para criar um índice ou se não há índice para a busca por nome, você pode usar o método abaixo para achar o primeiro e o último nome: SELECT nome FROM minhatabela WHERE nome LIKE "MARIA%" and nome LIKE "%SILVA"
  8. Para Exibição de dados não há norma. Para o armazenamento de dados o padrão, como já falei antes, está na normalização do banco de dados.
  9. Oi, ESerra, O MD5 Já pode ser quebrado. Por comparação , usando brute-force, ataque de dicionário, etc. Pode levar horas, dias, talvez anos. Por isso recomendo o uso da função PASSWORD na criptografia de senhas no MySQL (a partir da versão 5.x) em lugar do MD5.
  10. São restrições de integridade que não se encaixam na categoria básica. Também são conhecidas como regras de negócio. Por exemplo: Para possuir carteira de habilitação o funcionário deverá ser maior que 18 anos (>= 18 anos). A categoria básica de restrições de integridade contém: - Integridade de domínio (exemplo: "sexo = mascilino e feminino", "estado civil = casado, solteiro, etc"). - Integridade de vazio (se o campo pode ou não conter nulo) - Integridade de chave - Integridade referencial. Totads estas integridades da categoria básica devem ser garantidas automaticamente pelo SGBD e não necessitam que o programador as escreva explicitamente no código do programa.
  11. E o processo de montagem do banco de dados para que estas fiquem bem projetadas. Sem atributos (campos) desnecessários ou repetitivos. Estude alguns livros sobre bancos de dados Eu recomendo este: Sistemas de Banco de Dados Busque tutoriais sobre normalização de dados em bancos de dados. Veja este artigo: http://imasters.uol.com.br/artigo/7020. Leia toda esta série. Não entendi a pergunta.
  12. Oi Sergio, Como AD de uma empresa posso te dizer que não há padrão de caixa alta ou baixa, ou de nome de banco, tabela ou atributo de como você monta seu banco de dados. O padrão que existe fala sobre normalização de dados, um outro fala sobre a forma como se escreve o SQL (padrão SQL ANSI). Sobre a forma como se monta o banco, eu criei um padrão que sigo em todos os bancos que crio (não os da empresa esta já tem o padrão dela).
  13. A partir da versão 5.1.x há suporte para schedulle. Para implementar, leia o manual desta versão. Leia o artigo Using Partitioning and Event Scheduler to Prune Archive Tables
  14. Denis Courcy

    Consulta SQL

    Oi, 'kethellen' Minha praia é mysql, portanto as dicas aqui serão para você estudar e buscar como aplicar. Verifique junto ao manual do PostgreSQL qual a função que retorna maiúsculas. No exemplo abaixo vou usar a função do Mysql.SELECT * FROM minhatabela WHERE nome = UCASE(nome) Esta parate é um pouco mais complicada não dá para resolver com uma simples query. Vai exigir programação
  15. Oi André! O stack overflow acontece quando uma grande quantidade de dados é colocada na memória. Este problema acontece com o Zeos, o ADO, o BDE, etc, porque o Delphi deixa para o programador a decisão de controlar a massa de dados que é carregada em uma consulta (select). Veja no forum de MySQl a solução que passei neste tópico e que pode ser usada para qualquer banco de dados que use SQL e em qualquer aplicação. calcular memória para exibir resultado na web
  16. Oi, 'paulobergo' ! Execute uma consulta com EXPLAIN na frente da palavra chave SELECT. Esta consuta retornará, entre outros, os atributos table (com o nome ou alias da tabela) e rows (com a quantidade de registros que seriam retornados pela consulta sem o EXPLAIN na frente do select). Se você usar joins aparecerá uma linha para cada tabela usada no select. busque a linha cujo o atributo rows tiver maior quantidade de registros. Esta é a quantidade de registros que serão retornados. De posse da informação de quantidade de registros retornados você pode executar a query normalmente sem o EXPLAIN, apenas acrescentando a cláusula LIMIT para frear o ímpeto dos usuários. Veja este link How can I limit the number of rows returned by MySQL? (Pagination) Apesar do código estar em PHP, ele pode ser transcrito e aproveitado em qualquer outra linguagem.
  17. Oi, ReDNoS! Verifique o valor da variável max_conections use o commando show variables like "max%" Você pode aumentar o valor desta variável, alterando o arquivo de inicialização my.ini (caso o mysql esteja em um server windows) ou my.cnf (caso o mysql esteja em um server Unix/Linux) Faça backup do arquivo de inicialização antes de fazer qualquer alteração.
  18. Denis Courcy

    CREATE TABLE

    Complementando o que o paulobergo relatou. Você pode utilizar sem o sinal de crase ( ` ) assim: CREATE TABLE acme.usuario ( idusuario INTEGER UNSIGNED NOT NULL AUTO_INCREMENT, nome VARCHAR(45) NOT NULL, login VARCHAR(12) NOT NULL, senha VARCHAR(12) NOT NULL, PRIMARY KEY (idusuario) ) ENGINE = InnoDB; Isto facilita a avali~ção do código além de diminuir a possibilidade de erro. Outro ponto,. Se você já estiver conectado ao banco (neste caso o banco acme), não há a necessidade de referenciar o nome do mesmo. (menos um ponto para cometer erro).
  19. Oi, Marcos, Ainda não tentei este tipo de proeza, mas verifique se a variavel local_infile está ON. Se não estiver, você não vai conseguir usar. mysql> show variables like "%local%"; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | local_infile | ON | +---------------+-------+ 1 row in set (0.00 sec) Revendo o manual do mysql versão 4.1 (tradução em português), página 551 da seção 6.4.8. Sintaxe LOAD DATA INFILE Tente esta solução.
  20. Oi, 'Grall Fernandes' ! Siga os passos abaixo para restaurar a senha do root. 1 - Pare o servidor MySQL # /etc/init.d/mysql stop Stopping MySQL database server: mysqld. 2 - Re-Inicie o MySQL sem senha# mysqld_safe --skip-grant-tables & [1] 4131Starting mysqld daemon with databases from /var/lib/mysql mysqld_safe[4193]: started 3 - Reconecte-se ao MySQL sem senha $ mysql client - mysql -u root Welcome to the MySQL monitor. Commands end with; or \g. Your MySQL connection id is 1 to server version: xxxxxxx Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> 4 - Atribua uma nova senha a rootmysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> update user set password=PASSWORD("nova_senha_do_root") where User='root'; Query OK, 2 rows affected (0.00 sec) Rows matched: 2 Changed: 2 Warnings: 0 5 - atribua os privilégios à nova senha do root e encerre a sessão do mysqlmysql> flush privileges; Query OK, 0 rows affected (0.00 sec) mysql> quit Bye 6 - Pare novamente o Servidor MySQL (ver item 1) e reinicie o servidor MySQL como abaixo:# /etc/init.d/mysql start Starting MySQL database server: mysqld. 7 - Teste a nova conexão$ mysql -u root -p Enter password: Welcome to the MySQL monitor. Commands end with; or \g. Your MySQL connection id is 6 to server version: xxxxxx Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> Pronto.
  21. Oi, 'Marcos Tecnodata' Tente "C:\\publica\\txt\\2008\\fonterenda.txt" Ver manual MySQL versão 4.1 (tradução em português 2.6.1.3. MySQL para Windows Comparado com o MySQL para Unix, página 124
  22. Oi, 'Ricardo Freitas' Que versão de MySQL você está usando? Na versão 5.0.x este tipo de constraint ainda não funciona. Não encontrei referência válida na versão 5.1.x Ainda não estudei a versão 6.x Uma solução possível, na versão 5.x é a utilização de trigger before insert.
  23. Oi 'diogoleter' Não sei como fazer em PHP. Mas, se você estiver usando a engine InnoDB, utilize os comandos START TRANSACTION, COMMIT e ROLLBACK Ver manual do MySQL versão 4.1 (tradução em português) 6.7.1. Sintaxe de START TRANSACTION, COMMIT e ROLLBACK. Ou toda a transação faz commit ou toda a transação faz rollback.
  24. Oi, 'Henrique Santana' Conforme a andrea informou no post anterior, verifique a linha $insertSQL = sprintf("INSERT INTO portal_usuarios (usu_nome, usu_email, usu_senha) VALUES (%s, %s, nd5(%s)", Você esqueceu de fechar o parêntese da cláusula VALUES(, assim: $insertSQL = sprintf("INSERT INTO portal_usuarios (usu_nome, usu_email, usu_senha) VALUES (%s, %s, nd5(%s)),"
×
×
  • Criar Novo...