Ir para conteúdo
Fórum Script Brasil

paulobergo

Membros
  • Total de itens

    295
  • Registro em

  • Última visita

Sobre paulobergo

  • Data de Nascimento 22/10/1963

Contatos

  • MSN
    faria.bergo@gmail.com
  • ICQ
    0
  • Yahoo
    paulo.bergo@yahoo.co.uk
  • Skype
    paulo.bergo

Perfil

  • Gender
    Male
  • Location
    MG,Juiz de Fora
  • Interests
    Tudo! Profissionalmente, automação comercial, levantamento rodoviário (gps, mapas). Administração Pública... Aviação... Filhas...

Últimos Visitantes

3.115 visualizações

paulobergo's Achievements

0

Reputação

  1. Prezados, boa tarde! A pergunta não é estritamente sobre o MySQL, porém, como este é o BD que uso, resolvi postar a questão aqui. Em meus sistemas, parte das informações são permanentes, isto é, não podem ser modificadas, alteradas, etc... ficando, inclusive, registradas com hash para evidenciar uma alteração feita diretamente na tabela. O que em preciso, exatamente, é saber o nome desta característica - se é que existe -, isto é, que nome se dá às informações que nunca podem ser alteradas, em um banco de dados. O pedido que faço aos colegas é porque precisamos, na organização em que trabalho (pública - prefeitura) especificar este tipo de informação no termo de referência de aquisição/produção de um sistema. Assim, em uma especificação de requisitos, solicitamos a alguns desenvolvedores representantes de sistemas que considerassem a situação abaixo: Ano: 2015. A paciente Maria José da Silva fez um exame de glicose e o bioquímico responsável, que "assinou" o exame foi o Maurício Vieira Nunes Em 2016 a Maria José se casou, agregando o sobrenome do marido, passando a se chamar "Maria José da Silva Santos", e fez um exame de triglicéris, assinado pelo mesmo bioquímico, Em 2017, a Maria José realizou outro exame, de creatinina, sendo que o responsável agora foi a bioquímica Marcela Ferreira Dias (que substituiu o Maurício Vieira Nunes, que foi trabalhar em um hospital). Em 2018, a Maria José foi a uma UBS fazer uma consulta e o médico solicitou a reemissão de todos os seus exames. Resultado esperado (ano, nome, exame, responsável): 2015, Maria José da Silva, glicose, Maurício Vieira Nunes 2016, Maria José da Silva Santos, triglicéris, Maurício Vieira Nunes 2017, Maria José da Silva Santos, creatinina, Marcela Ferreira Dias Alguns sistemas apresentaram dados errados, uma vez que buscavam as informações sempre atualizadas no banco de dados, não preservando os dados que eu chamo de 'documentais'. Para essa característica (que eu chamo de 'documental') é que eu gostaria de saber se tem um nome próprio... Mais ou menos, se for especificar a tabela que conterá os dados dos exames, preciso apontar que determinados campos serão 'documentais', isto é, não poderão ser 'relacionais' - obtidos em outras tabelas, exatamente para permitir que a informação histórica seja preservada. E, caso este fórum não seja o apropriado para a pergunta, f i q u e m i n t e i r a m e n t e à vontade para apontar alternativas Muitíssimo obrigado!
  2. Olá pessoal... Bom... descobri que o único jeito de dar certo era mesmo criando dois arquivos, o Main.java e o Gerador.java. Claro, o Gerador.java, para funcionar, precisa ser todo corrigido (Separando "Class" de "Gerador", "private" de "int", etc.... ficando tudo assim: Main.java public class Main { public static void main(String args[]) { Gerador g1, g2, g3, g4; g1 = new Gerador ("g1",0); g2 = new Gerador ("g2",1); g3 = new Gerador ("g3",0); g4 = new Gerador ("g4",1); g1.start(); g2.start(); g3.start(); g4.start(); } } Gerador.java class Gerador extends Thread { private int time; public Gerador (String str, int desloc) { super(str); time = (int) ((Math.random() + desloc) * 1000.0); } public void run() { try { Thread.sleep(time); } catch (Exception e) { } System.err.print(getName()+":"+time+" "); } } Daí, é só compilar e testar: bergo-P01157220:~/Documentos/Java$ javac Gerador.java bergo-P01157220:~/Documentos/Java$ javac Main.java bergo-P01157220:~/Documentos/Java$ bergo-P01157220:~/Documentos/Java$ java Main g1:783 g3:868 g4:1425 g2:1754 bergo-P01157220:~/Documentos/Java$ bergo-P01157220:~/Documentos/Java$ java Main g1:70 g3:226 g4:1419 g2:1889 bergo-P01157220:~/Documentos/Java$ bergo-P01157220:~/Documentos/Java$ java Main g3:399 g1:817 g2:1004 g4:1802 bergo-P01157220:~/Documentos/Java$ bergo-P01157220:~/Documentos/Java$ java Main g3:331 g1:674 g2:1521 g4:1811 bergo-P01157220:~/Documentos/Java$ bergo-P01157220:~/Documentos/Java$ java Main g3:392 g1:872 g4:1565 g2:1869 bergo-P01157220:~/Documentos/Java$ bergo-P01157220:~/Documentos/Java$ java Main g3:159 g1:710 g4:1378 g2:1907 bergo-P01157220:~/Documentos/Java$ bergo-P01157220:~/Documentos/Java$ java Main g3:406 g1:843 g4:1094 g2:1128 bergo-P01157220:~/Documentos/Java$ bergo-P01157220:~/Documentos/Java$ java Main g3:781 g1:840 g2:1333 g4:1824 bergo-P01157220:~/Documentos/Java$ Porém, ainda fica a dúvida... Porque um dos valores da alternativa d) não teriam causado uma exceção? Obrigado! Bergo
  3. Prezados, bom dia! Podem avaliar? a seguinte questão foi cobrada em uma prova de concurso: QUESTÃO 48 – Dado o seguinte código-fonte Java (arquivo Main.java), assinale a alternativa que NÃO ilustra uma saída impressa válida para sua execução: public class Main { classGerador extends Thread { public static void privateint time; main(String args[]) { publicGerador (String str, intdesloc) { Gerador g1, g2, g3, g4; super(str); g1 = new Gerador ("g1",0); time = (int) ((Math.random() + desloc) * 1000.0); g2 = new Gerador ("g2",1); } g3 = new Gerador ("g3",0); public void run() { g4 = new Gerador ("g4",1); try { Thread.sleep(time); } g1.start(); g2.start(); catch (Exception e) { } g3.start(); g4.start(); System.err.print(getName()+":"+time+" "); } } } } a) g1:909 g3:922 g2:1670 g4:1989 b) g3:92 g1:954 g4:1323 g2:1726 c) g1:842 g3:908 g2:1253 g4:1636 d) g3:334 g2:1266 g4:1595 g1:585 e) g1:157 g3:378 g4:1177 g2:1634 O programa não compila nem executa, criando-se simplesmente o arquivo Main.java, tanto desta forma: public class Main { classGerador extends Thread { public static void privateint time; main(String args[]) { publicGerador (String str, intdesloc) { Gerador g1, g2, g3, g4; super(str); g1 = new Gerador ("g1",0); time = (int) ((Math.random() + desloc) * 1000.0); g2 = new Gerador ("g2",1); } g3 = new Gerador ("g3",0); public void run() { g4 = new Gerador ("g4",1); try { Thread.sleep(time); } g1.start(); g2.start(); catch (Exception e) { } g3.start(); g4.start(); System.err.print(getName()+":"+time+" "); } } } } como desta forma: public class Main { public static void main(String args[]) { Gerador g1, g2, g3, g4; g1 = new Gerador ("g1",0); g2 = new Gerador ("g2",1); g3 = new Gerador ("g3",0); g4 = new Gerador ("g4",1); g1.start(); g2.start(); g3.start(); g4.start(); } } classGerador extends Thread { privateint time; publicGerador (String str, intdesloc) { super(str); time = (int) ((Math.random() + desloc) * 1000.0); } public void run() { try { Thread.sleep(time); } catch (Exception e) { } System.err.print(getName()+":"+time+" "); } } (o arquivo Main.java criado com vi em um Linux - Xubuntu 14.04). - Consideram que a questão mereceria ser anulada por 'má-formação'? - A letra (d) foi a resposta correta. Por que? Obrigado por qualquer ajuda! Abraços PVictor
  4. Olá amigos... saudações! Como identificar o alias em uma query usando ODBC Microsoft DBase Driver? Explicando melhor... Isso funciona: select distinct cfop from notas Isso não funciona: select distinct cfop from odmatriz!notas select distinct cfop from 'odmatriz!notas' select distinct cfop from "odmatriz!notas" select distinct cfop from 'odmatriz:notas' E, explicando mais ainda... O que preciso: abrir uma query, pelo DBExplorer (Delphi, BDE), usando uma conexão ODBC (ODBC Microsoft DBF Driver), identificando o alias, para poder juntar (union) dois resultados (queries) de bancos diferentes... Então, precisaria identificar o alias junto com a tabela e, segundo a única documentação que consegui obter até agora, o correto seria separar o alias do nome da tabela com uma exclamação... Porém, retorna falha, mesmo com um só alias... Então, seja: ODmatriz o alias para as tabelas em d:\empresas\acme\matriz, usando Microsoft ODBC para DBase ODfilial o alias para as tabelas em d:\empresas\acme\filial DBFmatriz o alias Standard DBase da própria BDE, para a pasta d:\empresas\acme\matriz DBFfilial o alias Standard DBase da própria BDE, para a pasta d:\empresas\acme\filial e... usando o DBExplorer para fazer as consultas (nos exemplos, uma query para mostrar as entradas na matriz e as saidas na filial)... Isto funciona, executando na janela "Enter SQL" tanto do dbmatriz como do dbfilial: select sum(qtde) as entradas, 0 as saidas, codigo from ":dbmatriz:notas.dbf" where substring(cfop from 1 for 1) in ("1", "2", "3") group by codigo union select 0 as entradas, sum(qtde) as saidas, codigo from ":dbfilial:notas.dbf" where substring(cfop from 1 for 1) in ("5", "6", "7") group by codigo e Isto não funciona (executando em uma janela na ODmatriz ou ODFilial... select sum(qtde) as entradas, 0 as saidas, codigo from 'odmatriz!notas' where mid(cfop, 1, 1) in ('1', '2', '3') group by codigo union select 0 as entradas, sum(qtde) as saidas, codigo from 'odfilial!notas' where mid(cfop, 1, 1) in ('5', '6', '7') group by codigo Grato por qualquer colaboração! Abraços!
  5. Olá pessoal! olá Jhonas! Solução! a) Atualizar o MySQL: não deu resultado... ou seja, o pc (e apenas um) continuou a mostar "(Memo)" no lugar do resultado correto da função... B) BDE: remover completamente e reinstalar a BDE também não resolveu... c) Atualizar o conector ODBC... isso sim... removi a versão 3.51 - que é a que uso em todas as máquinas, inclusive as com Ubuntu+Wine - pela 5.1.8 e pronto! problema resolvido!!! Pode marcar aí como solucionado... Realmente, não consegui entender o que fez, de uma hora para outra, especificamente em um computador que vem funcionando desde, creio, 2004, com as mesmas características, parar de exibir uma informação da mesma forma como fazia antes... Ainda vou postar isso na dev.mysql.com... por curiosidade... De qualquer forma, grato pelas idéias! A todos um abraço!
  6. Olá... Bom... esse é mesmo um problema no Firebird... nos outros bancos (até no VisualDbase7 com BDE) o campo AUTOINC não "esquece" a sequência... Eu uso o MySQL em praticamente todas as aplicações... Meus colegas que trabalham com as aplicações no Firebird usam uma trigger para sempre gravar o último valor do campo autoinc de uma tabela... Eu faria o seguinte... - criaria uma tabela para conter o nome de todas as tabelas e respectivos campos "autoinc" exemplo: tabela campo ultimo pedido idpedido 0 participante idparticipante 32 - antes de incluir um registro novo na tabela (por exemplo) pedido, pego o ultimo usado (0), somo 1 e faco o "insert": insert into pedido (idpedido, qtde, codigo...) values (1, 10.5, '7893934041911'....); Logo, a trigger com o "before insert" deverá: - identificar a tabela que receberá um novo registro, identificando se tem campo autoincrement... se não tiver, prossegue no insert normalmente... e se tiver o campo autoincrement, obtem o ultimo, incrementa e então parte para o insert... Ok? Espero ter ajudado...
  7. paulobergo

    Comandos do mysql

    (015 , 'suco' , 11, 'bebidas' , 3,19); Veja... para os centavos do valor unitario, use o . (ponto) e não , (virgula)... Assim... (015 , 'suco' , 11, 'bebidas' , 3.19); 015=codigo do produto suco=descricao 11=unidade (o corrego seria 'UN', 'M', 'L', 'ML', 'DZ', 'PAR', etc... bebidas=categoria 3.19=valor unitario Provavelmente voce recebeu uma mensagem indicando que havia mais dados do que campos na query... Ok?
  8. Bom... para verificar a função, executei esta query: select max(length(mydatapg(vencimento, data_baixa, pago))) as maximo, min(length(mydatapg(vencimento, data_baixa, pago))) as minimo from conta_ar e o resultado foi maximo=10, minimo=10. Dos 23 pcs na rede, 22 retornam o resultado da função corretamente, sempre via BDE+MysqlODBCConector, tanto nos XPs como nos Linux via Wine... E somente um "intepreta" erradamente o resultado... Antes de fazer a atualização no servidor, experimentarei trocar a versão do conector ODBC... posto aqui se der resultado! Grato e abraços!
  9. Jhonas! grato pela resposta... Com certeza, vou tentar a 5.1.41... Mas uma coisa não entendi... quanto a ultrapassar o limite de caracteres... como a função está definida para retornar exatamente 10 caracteres, e as respostas também estão limitadas a 10 caracteres, quando ultrapassaria o limite de caracteres? Grato!
  10. Olá pessoal... Não intrepretem, por favor, como sendo um tópico exclusivamente para o Delphi (até poderia ser...) Observei um problema em obter um resultado a partir de uma query usando BDE e ODBC MySQL. No servidor, no banco MySQL 5.0.27, existe uma função que 'traduz' a situação de uma duplicata... A função recebe a data de vencimento da duplicata, a data da liquidação e a situação (liquidada ou não) e retorna: - Se a duplicata não foi liquidada ainda, irá retornar "vencida" se estiver atrasada, "vence hoje" se estiver vencendo exatamente na data de hoje e "a vencer" se vencerá de amanhã em diante... - Se a duplicata foi liquidada, irá retornar, simplesmente, a data em que foi liquidada. Então, é uma função que manipula datas e retorna sempre uma string (char)... A função é esta: DROP FUNCTION IF EXISTS `MyDataPG`; DELIMITER $$ CREATE DEFINER=`root`@`localhost` FUNCTION `MyDataPG`(in_vencimento date, in_data_pg date, in_pago tinyint) RETURNS varchar(10) CHARSET latin1 NO SQL begin declare resultado varchar(10) default ''; if in_pago=0 then if in_vencimento<now() then set resultado = 'vencida '; else if in_vencimento=now() then set resultado = 'vence hoje'; else set resultado = 'a vencer '; end if; end if; else set resultado = cast(in_data_pg as char(10)); set resultado = concat(substring(resultado, 9, 2), '/', substring(resultado, 6, 2), '/', substring(resultado, 1, 4)); end if; return resultado; end $$ DELIMITER; Bom, tendo os campos vencimento e data_baixa como sendo do tipo Date e o campo pago sendo do tipo TinyInt, a query a seguir: select vencimento, data_baixa, pago, mydatapg(vencimento, data_baixa, pago) as situacao from conta_ar where mydatapg(vencimento, data_baixa, pago)="vencida" union select vencimento, data_baixa, pago, mydatapg(vencimento, data_baixa, pago) as situacao from conta_ar where mydatapg(vencimento, data_baixa, pago)="vence hoje" union select vencimento, data_baixa, pago, mydatapg(vencimento, data_baixa, pago) as situacao from conta_ar where mydatapg(vencimento, data_baixa, pago)="a vencer" union select vencimento, data_baixa, pago, mydatapg(vencimento, data_baixa, pago) as situacao from conta_ar where pago=1 and data_baixa between "2011/04/01" and "2011/04/05" Irá retornar: +------------+------------+------+------------+ | vencimento | data_baixa | pago | situacao | +------------+------------+------+------------+ | 2011-01-02 | 2011-01-02 | 0 | vencida | | 2011-01-01 | 2011-01-01 | 0 | vencida | | 2011-01-03 | 2011-01-03 | 0 | vencida | | 2011-01-04 | 2011-01-04 | 0 | vencida | | 2011-01-07 | 2011-01-07 | 0 | vencida | | 2011-01-10 | 2011-01-10 | 0 | vencida | | 2011-01-12 | 2011-01-12 | 0 | vencida | | 2011-01-13 | 2011-01-13 | 0 | vencida | | 2011-01-14 | 2011-01-14 | 0 | vencida | | 2011-04-14 | 2011-04-25 | 0 | vence hoje | | 2011-04-28 | 2011-04-28 | 0 | a vencer | | 2011-04-29 | 2011-04-29 | 0 | a vencer | | 2011-04-30 | 2011-04-30 | 0 | a vencer | | 2011-04-26 | 2011-04-26 | 0 | a vencer | | 2011-04-27 | 2011-04-27 | 0 | a vencer | | 2011-04-04 | 2011-04-05 | 1 | 05/04/2011 | | 2011-04-01 | 2011-04-02 | 1 | 02/04/2011 | | 2011-03-19 | 2011-04-05 | 1 | 05/04/2011 | | 2011-04-03 | 2011-04-05 | 1 | 05/04/2011 | | 2011-04-02 | 2011-04-05 | 1 | 05/04/2011 | | 2011-02-23 | 2011-04-02 | 1 | 02/04/2011 | | 2011-03-23 | 2011-04-01 | 1 | 01/04/2011 | | 2011-03-31 | 2011-04-01 | 1 | 01/04/2011 | | 2011-04-14 | 2011-04-01 | 1 | 01/04/2011 | | 2011-04-21 | 2011-04-05 | 1 | 05/04/2011 | | 2011-03-31 | 2011-04-05 | 1 | 05/04/2011 | | 2011-03-31 | 2011-04-02 | 1 | 02/04/2011 | +------------+------------+------+------------+ Esta query vem funcionando desde que existe a versão 5.0 do MySQL... (nem sei precisar desde quando)... E sempre funcionou tanto via BDE/ODBC, localmente ou remotamente, e também pelo ZeosBDO, PHP, PHPMyAdmin, MySQLNavigator... sem problemas... Mas, desde terça feira, uma máquina, num universo de não sei tantas outras, passou a mostrar, no lugar da coluna da situação, a palavra (MEMO) em troca do conteúdo correto... Assim... Clicando-se no campo memo exibido, aparece o conteúdo correto... O problema acontece somente nas conexões feitas através da dupla BDE/ODBC Conector... e desinstalar/reinstalar ambos não resolveu... Alguém já passou por isso ou viu algo similar? Grato por qualquer colaboração...
  11. Olá pessoal... Não intrepretem, por favor, como sendo um tópico para o MySQL (até poderia ser...) Observei um problema em obter um resultado a partir de uma query usando BDE e ODBC MySQL. No servidor, no banco MySQL 5.0.27, existe uma função que 'traduz' a situação de uma duplicata... A função recebe a data de vencimento da duplicata, a data da liquidação e a situação (liquidada ou não) e retorna: - Se a duplicata não foi liquidada ainda, irá retornar "vencida" se estiver atrasada, "vence hoje" se estiver vencendo exatamente na data de hoje e "a vencer" se vencerá de amanhã em diante... - Se a duplicata foi liquidada, irá retornar, simplesmente, a data em que foi liquidada. Então, é uma função que manipula datas e retorna sempre uma string (char)... A função é esta: DROP FUNCTION IF EXISTS `MyDataPG`; DELIMITER $$ CREATE DEFINER=`root`@`localhost` FUNCTION `MyDataPG`(in_vencimento date, in_data_pg date, in_pago tinyint) RETURNS varchar(10) CHARSET latin1 NO SQL begin declare resultado varchar(10) default ''; if in_pago=0 then if in_vencimento<now() then set resultado = 'vencida '; else if in_vencimento=now() then set resultado = 'vence hoje'; else set resultado = 'a vencer '; end if; end if; else set resultado = cast(in_data_pg as char(10)); set resultado = concat(substring(resultado, 9, 2), '/', substring(resultado, 6, 2), '/', substring(resultado, 1, 4)); end if; return resultado; end $$ DELIMITER; Bom, tendo os campos vencimento e data_baixa como sendo do tipo Date e o campo pago sendo do tipo TinyInt, a query a seguir: select vencimento, data_baixa, pago, mydatapg(vencimento, data_baixa, pago) as situacao from conta_ar where mydatapg(vencimento, data_baixa, pago)="vencida" union select vencimento, data_baixa, pago, mydatapg(vencimento, data_baixa, pago) as situacao from conta_ar where mydatapg(vencimento, data_baixa, pago)="vence hoje" union select vencimento, data_baixa, pago, mydatapg(vencimento, data_baixa, pago) as situacao from conta_ar where mydatapg(vencimento, data_baixa, pago)="a vencer" union select vencimento, data_baixa, pago, mydatapg(vencimento, data_baixa, pago) as situacao from conta_ar where pago=1 and data_baixa between "2011/04/01" and "2011/04/05" Irá retornar: +------------+------------+------+------------+ | vencimento | data_baixa | pago | situacao | +------------+------------+------+------------+ | 2011-01-02 | 2011-01-02 | 0 | vencida | | 2011-01-01 | 2011-01-01 | 0 | vencida | | 2011-01-03 | 2011-01-03 | 0 | vencida | | 2011-01-04 | 2011-01-04 | 0 | vencida | | 2011-01-07 | 2011-01-07 | 0 | vencida | | 2011-01-10 | 2011-01-10 | 0 | vencida | | 2011-01-12 | 2011-01-12 | 0 | vencida | | 2011-01-13 | 2011-01-13 | 0 | vencida | | 2011-01-14 | 2011-01-14 | 0 | vencida | | 2011-04-14 | 2011-04-25 | 0 | vence hoje | | 2011-04-28 | 2011-04-28 | 0 | a vencer | | 2011-04-29 | 2011-04-29 | 0 | a vencer | | 2011-04-30 | 2011-04-30 | 0 | a vencer | | 2011-04-26 | 2011-04-26 | 0 | a vencer | | 2011-04-27 | 2011-04-27 | 0 | a vencer | | 2011-04-04 | 2011-04-05 | 1 | 05/04/2011 | | 2011-04-01 | 2011-04-02 | 1 | 02/04/2011 | | 2011-03-19 | 2011-04-05 | 1 | 05/04/2011 | | 2011-04-03 | 2011-04-05 | 1 | 05/04/2011 | | 2011-04-02 | 2011-04-05 | 1 | 05/04/2011 | | 2011-02-23 | 2011-04-02 | 1 | 02/04/2011 | | 2011-03-23 | 2011-04-01 | 1 | 01/04/2011 | | 2011-03-31 | 2011-04-01 | 1 | 01/04/2011 | | 2011-04-14 | 2011-04-01 | 1 | 01/04/2011 | | 2011-04-21 | 2011-04-05 | 1 | 05/04/2011 | | 2011-03-31 | 2011-04-05 | 1 | 05/04/2011 | | 2011-03-31 | 2011-04-02 | 1 | 02/04/2011 | +------------+------------+------+------------+ Esta query vem funcionando desde que existe a versão 5.0 do MySQL... (nem sei precisar desde quando)... E sempre funcionou tanto via BDE/ODBC, localmente ou remotamente, e também pelo ZeosBDO, PHP, PHPMyAdmin, MySQLNavigator... sem problemas... Mas, desde terça feira, uma máquina, num universo de não sei tantas outras, passou a mostrar, no lugar da coluna da situação, a palavra (MEMO) em troca do conteúdo correto... Assim... Clicando-se no campo memo exibido, aparece o conteúdo correto... O problema acontece somente nas conexões feitas através da dupla BDE/ODBC Conector... e desinstalar/reinstalar ambos não resolveu... Alguém já passou por isso ou viu algo similar? Grato por qualquer colaboração...
  12. Olá pessoal... Grato a todos pelas dicas... O problema foi solucionado com a troca do cabo que ligava os switches... Era um cabo branco... não me lembro a marca... mas não tinha o carimbo da Anatel... Como não tinhamos testadores decentes, não conseguíamos "provar" que o problema era no cabo... porém, quando exigimos que o instalador certificasse o cabo, uma empresa especializada fez a análise da rede com testadores da Fluke Networks, o que comprovou o problema... e levou à troca do cabeamento... Daí, o switch passou a trabalhar 100%! Mais uma vez, grato a todos e um grande abraço! Problema resolvido!
  13. Jhonas... grato pela resposta... Bom... quanto ao switch, sabemos que não é problema com ele... afinal, adquirimos 52 unidades... assim, testamos pelo menos cinco, em várias portas... O switch principal (que leva ao DataCenter) conecta todos os demais switches dos outros andares e toda a infraestrutura externa, rádios, fibra, etc...... Assim, na nossa infraestrutura com esses switches 3Com temos perto de 1800 computadores, sem problema... O que nos faz ter a quase absoluta certeza de que o problema é o com o cabo é que: a) trata-se de um cabo DNI, não homologado pela Anatel, com a seguinte marcação: "Cabo DNI - CABO 4 pares trançado CAT 5E xxxm", cor branca; B) pedimos que a empresa que fez a instalação nos apresentasse a certificação da rede (para isso, ela tem que contratar uma outra empresa que faça as medições corretas com equipamentos como os DTX CableAnalyzer da Fluke) e ela fica só "adiando"; c) efetuamos as conexões entre switches novíssimos 3Com 2924 e também com outros 3Com 4400, 4200 e 3300... em todos o "defeito" aparece... com a conexão indo e voltando o tempo todo... e aí, quando eles ligam um hub mixuruca, a conexão fica estável... Então, para montar meu parecer exigindo a substituição do cabo, só falta eu ter condições de dizer em que situações um hub simples pode fazer uma coisa que um switch gerenciável, certificado e superavançado não pode... Ok? Grato! Abraços
  14. Olá pessoal... Estou com o seguinte problema... Em nossa rede, temos cerca de 960 computadores... todos distribuidos em oito andares, conectados em Switches gerenciáveis 3Com 2924... Daí, uma empresa instalou cinco catracas de acesso no térreo, para controle de presença (um equipamento que nem sequer cumpre as normas do MT - dentre eles o de que para marcar o ponto dos funcionários não poderia, em hipótese alguma, depender de equipamentos externos - no caso, de rede), puxou um cabo do switch ao qual estão conectadas as catracas até o switch que dá acesso ao nosso DataCenter. Um cabo com aproximadamente 25 metros e que está com defeito. A situação é : - das catracas (cinco) até o switch que as conecta, no térreo, tudo ok. - do switch do andar ao DataCenter, tudo ok. - do switch do térreo ao switch do andar, devido ao problema do cabo, há falha intermitente (não é problema nos switches, pois, além de serem novos, foram testados mais um). A tal empresa recusa-se a trocar o cabo com defeito pois alega que, com um hub, no lugar do switch, não há problema... A questão então é esta... porque, em um segmento da rede, com problema de cabo, um (m#@!1##@) de hub funciona e um switch gerenciável 100% certificado não? Preciso, de alguma forma, exigir que a firma substitua o cabo e elimine o hub... mas, com que argumentos... Grato por qualquer ajuda!!!
  15. Olá pessoal! Saudações! Gero uma aplicação que, antes de dar uma boa arrumada e eliminar muitas inutilidades (exemplo: por conta da NF-e, agora tenho um cadastro único de "participantes" em troca da versão anterior que tinha uma cadastro de clientes, um de fornecedores, um de vendedores, um de transportadores, um de produtores rurais, etc... etc... etc...). o tamanho do executável era de exatos 3.298.304 bytes. Com a arrumação, ficou, até o presente momento, em 1.561.088 !!! Porém, gostaria que ficasse, pelo menos, perto dos 2.900.000 bytes... Alguém aí já usou de alguma forma no próprio Delphi6 (ou outra forma) para definir isso? Grato por qualquer ajuda! Abraços!
×
×
  • Criar Novo...