Ir para conteúdo
Fórum Script Brasil

Graymalkin

Veteranos
  • Total de itens

    8.257
  • Registro em

  • Última visita

Tudo que Graymalkin postou

  1. Na minha máquina eu desinstalei já há algum tempo e passei a usar o aplicativo do Itaú: https://www.itau.com.br/computador/ Com esse aplicativo não é necessário o Guardião 30 Horas (que vem junto com o tal do Warsaw). Abraços!
  2. Curiosamente, o único servidor que não apresentava esse problema, o fez ontem, após a instalação do componente de segurança da GAS TECNOLOGIA (WARSAW) para utilização do Internet Banking da Caixa Econômica (o Itaú também utiliza este mesmo componente, caso não se use o aplicativo próprio). Será ele o culpado? Já vi dezenas de relatos de que este componente atrapalha outros serviços e aplicativos, e inclusive desinstalei ele da minha máquina porque, no meu caso, causava lag em um determinado jogo. Pra ter certeza vou deixar instalado e observar se vai acontecer novamente. No caso de vocês, este componente está presente no computador? Ele aparece em "Programas e Recursos" do Painel de Controle e em "Serviços" como Warsaw. Abraços!
  3. Então, este erro normalmente ocorre ao se tentar usar um objeto que é nulo, ou seja, Nothing. Acredito que o HWID esteja ficando nulo porque a chave não é encontrada. Repare que há um erro de digitação no caminho da chave (onde está Porfiles deveria estar Profiles). Experimente consertar isso, como na linha abaixo, e veja se dá certo: HWID = key.OpenSubKey("SYSTEM\CurrentControlSet\Control\IDConfigDB\Hardware Profiles\0001", True) Abraços!
  4. As últimas versões do PG não criam mais um usuário postgres no sistema (como um usuário do Windows), usando a conta "Serviço de Rede", por isso recebo a mensagem de que "não foi possível localizar o usuário". De qualquer maneira, acho que falta algo neste comando, porque normalmente depois da senha (onde está "postgrespass") você deveria ter algo como /ADD (para adicionar) ou /DELETE (para deletar), por exemplo. Você recebeu alguma mensagem de sucesso depois de executar isso? Abraços!
  5. Aqui pra mim funcionou corretamente, você só esqueceu do segundo sorted() (dentro do loop): import random lista = sorted(random.sample (range (1, 5) , 3)) naolista = [[2 ,3 ,4], [1, 2, 3]] while (True): lista = sorted(random.sample (range (1, 5) , 3)) if lista in naolista: pass else: print(lista) break Com esse código só se gera [1, 2, 4] ou [1, 3, 4], já que as duas outras possibilidades são excluídas pela "naolista". Certo? Abraços!
  6. A função range() retorna a lista de números entre o primeiro e o segundo valores que você passa, sendo que o segundo valor não é incluído. Ou seja, range(1, 4), só te retornará [1, 2, 3]. Se você precisa do 4, deverá usar range(1, 5). Abraços!
  7. Na verdade ele está executando, porém o como o Range(1, 4) vai sempre retornar [1, 2, 3] e esta combinação está na lista "naosortear" ele vai ficar em um loop infinito (já que não haverá outra combinação). Se você não utilizasse o sorted() (para deixar em ordem), você teria outras combinações (tipo, [3, 2, 1]) e aí sim estaria diferente. Abraços!
  8. Você pode criar uma lista contendo as listas que não devem ser sorteadas e testar se a a sequência sorteada está dentro dela usando o operador in em um loop, para gerar uma nova lista neste caso: import random naosortear = [[1, 2, 3, 5, 6, 9, 10, 12], [4, 5, 6, 8, 9, 12, 13, 14], [1, 4, 5, 6, 7, 8, 11, 14], [1, 3, 4, 5, 6, 8, 9, 23], [3, 5, 6, 7, 10, 12, 13, 25], [5, 6, 7, 8, 11, 12, 13, 14], [3, 4, 5, 6, 9, 10, 11, 14]] while (True): listasorteada = sorted(random.sample(range (1,25), 8)) if listasorteada in naosortear: pass #Não faz nada, o que significa executar o loop novamente e sortear outros números else: print(listasorteada) break #Sai do loop, já que a lista sorteada não faz parte das quais não devem ser sorteadas Abraços!
  9. Acho que não de uma maneira prática, já que para fazer o UPSERT no PostgreSQL você precisa deixar o UPDATE explícito com todos os campos e valores, por exemplo: INSERT INTO "Tabela" (chaveprimaria, campo1, campo2) VALUES ('pk', 'valor1', 'valor2') ON CONFLICT (chaveprimaria) DO UPDATE SET campo1='valor1', campo2='valor2' WHERE "Tabela".chaveprimaria=chaveprimaria; Ou seja, além de especificar a chave-primária você ainda precisa especificar o UPDATE completo. Pode haver um meio, mas não vi uma maneira prática de se fazer isso usando JSON. Um jeito de fazer isso seria criar a função abaixo... CREATE OR REPLACE FUNCTION "Executar"(query character varying) RETURNS integer AS $BODY$begin execute $1; return 1; end;$BODY$ LANGUAGE plpgsql VOLATILE; ... montar a instrução SQL em uma string (a partir da linguagem que estiver usando) e executar com ela. Neste caso, perde um pouco o sentido de se usar JSON (a não ser que a linguagem usada suporte e seja prático para montar a instrução SQL desejada). Abraços!
  10. Exatamente o que eu ia te recomendar, já que o json_populate_record() é só para um registro e o json_populate_recordset() é para um conjunto de registros. Abraços!
  11. Sim, pelo que li neste post (http://stackoverflow.com/questions/6215453/detect-all-available-scanner-resolutions-using-wia) realmente os valores de DPI são previamente definidos e dependem do dispositivo. No post, na primeira resposta, ele descreve um jeito de descobrir os DPIs mínimos e máximos, porém relata que o dele suporta 100DPI, mas não suporta 75 e 150DPI, por exemplo. Abraços!
  12. Sim, você pode fazer assim: CREATE OR REPLACE FUNCTION salvar(data json) RETURNS void AS 'INSERT INTO "Tabela" SELECT * FROM json_populate_record(null::"Tabela", $1);' LANGUAGE sql; E usá-la assim: SELECT salvar('{"Campo1":"valor1","Campo2":"valor2"}'); Abraços!
  13. Não tenho um scanner ou multifuncional aqui pra testar, mas pelo que li cada dispositivo tem os valores de DPI fixos (e variam mesmo entre dispositivos). Você poderia fazer um loop com Try... Catch tentando valores entre 1 e 300, quando não ocorresse uma exceção você teria um valor válido. Abraços!
  14. Graymalkin

    Grid View

    Dê uma olhada no evento CellFormatting e na propriedade DefaultCellStyle das colunas, um dos dois deve servir para o que você quer fazer. Abraços!
  15. O erro aí no caso é que você está tentando usar um método que não existe, chamado "get_Item". Experimente substituir a parte... Public Sub SetWIAProperty(properties As IProperties, propName As Object, propValue As Object) Dim prop As [Property] = properties.get_Item(propName) prop.set_Value(propValue) End Sub ... por: Public Sub SetWIAProperty(properties As IProperties, propName As Object, propValue As Object) properties(propName).let_Value(propValue) End Sub E veja se dá certo. Abraços!
  16. Interessante, @warc82! Vou fazer o teste na próxima vez que ocorrer aqui pra ver se consigo reiniciar o Postgres sem ter que reiniciar a máquina. Obrigado e abraços!
  17. É, exatamente igual o que acontece em 3 dos meus servidores (todos com PG 9.4 ou 9.5). Já pesquisei bastante a respeito e não achei uma solução ainda. Vou tentar arrumar um tempo essa semana pra pesquisar novamente e se conseguir algo eu posto aqui. Abraços!
  18. Graymalkin

    Erro Regex.Split

    A função te retorna um array de strings e não apenas uma string, então result deveria ser declarado assim: Dim result() As String = Nothing E você deverá iterar sobre os elementos de result para obtê-los. Abraços!
  19. Já deu uma olhada nos logs pra ver se aparece alguma coisa que indique o motivo de ele parar? Abraços!
  20. Eu testei aqui e deu certo comigo pelo PLAIN indo do 9.5 para o 9.3 (versão que nunca deu esse tipo de problema). Só que o arquivo fica enorme, ao invés de 45MB no formato CUSTOM, no caso do PLAIN ele ficou com 243MB. Para gerar o backup usei o PgAdmin III mesmo, porém para restaurar tive que ir pelo prompt, executando o seguinte (dentro da pasta bin do PostgreSQL): psql -d TESTE -U postgres -f "c:/temp/teste.sql" Onde "TESTE" é o nome do banco de dados (que criei pelo pgAdmin, sem nada) e "c:/temp/teste.sql" é o caminho do arquivo gerado anteriormente. Execute duas vezes, porque na primeira vez realmente dará alguns erros (a ordem em que as tabelas são criadas não precede necessariamente a ordem em que os dados são inseridos). Abraços!
  21. Eu tenho um servidor com o Windows 10 e o PostgreSQL 9.3 e isso não ocorre, mas todos os outros em que tenho o PG 9.4 e 9.5 isso também acontece (e isso já ocorria desde o Windows 8). Creio que seja um problema da versão do Postgre mesmo, e não do Windows. Já tentei fazer a inicialização manual, sem ser pelos Serviços do Windows, mas também volta e meia acontece, e só reiniciando pra voltar. Acredito que se você fizer o backup pelo PgAdmin III usando o formato PLAIN, ao invés de CUSTOM, você conseguirá restaurar a base em uma versão anterior (porque essa opção gera as instruções SQL para recriar a base e os dados). Abraços!
  22. Você quer dizer com tipos compostos, como os que podem ser criados com CREATE TYPE? Fiz um teste aqui e funciona no PgAdmin III (que normalmente já vem com a instalação do PostgreSQL). Abraços!
  23. Então é o que eu tinha imaginado mesmo. Você está usando um campo Serial (autonumeração), certo? Cada campo desse tipo cria uma sequência (que você pode ver em Sequences, no PgAdmin 3), e você pode obter o valor desse campo no registro recém adicionado usando: SELECT currval('public."Tabela_Campo_seq"'); Caso não tenha sido alterado, o nome da sequência é o nome da tabela + sublinhado + nome do campo + sublinhado + "seq". Pra ter certeza do nome você pode olhar lá no Sequences do seu banco de dados. Certo? Abraços!
  24. O que seria um "código novo"? Pelo que entendi, CLIENT_INFO é um identificador do usuário atual, e o PG tem algumas variáveis e funções que são semelhantes a isso e você pode encontrá-las aqui: https://www.postgresql.org/docs/9.1/static/functions-info.html Abraços!
  25. Também tenho sofrido desse problema desde a versão 9.4 do PostgreSQL e desde o Windows 8. Agora estou com a 9.5 e no Windows 10 e ocorre o mesmo problema em 3 servidores. Tenho um outro servidor com o PostgreSQL 9.3 e o Windows 10 (que antes tinha o Windows 8) e isso nunca aconteceu lá. Acredito que tenha a ver com a versão do PG e não do Windows, pois todos que apresentam o problema estão com a 9.4 ou a 9.5. Recentemente, em uma das máquinas, estou executando o serviço manualmente (não através dos "Serviços" do próprio Windows), para tentar determinar o problema, mas até o momento não obtive sucesso. No meu caso, não é necessariamente após um tempo sem utilização, mas de repente não consigo mais conectar, o serviço continua executando, quem já está conectado continua funcionando, porém novas conexões não funcionam, além de não ser possível parar ou reiniciar o serviço, ou seja, só volta ao reiniciar a máquina. Vou investigar esse problema essa semana novamente, se conseguir algo eu posto aqui. Abraços!
×
×
  • Criar Novo...