Posted by: Gustavo Henrique | Abril 17, 2008

Utilizando UDF no Firebird.

Primeiro declare a UDF como por exemplo :

DECLARE EXTERNAL FUNCTION LTRIM
    CSTRING(80) CHARACTER SET NONE
RETURNS CSTRING(80) FREE_IT
ENTRY_POINT ‘IB_UDF_ltrim’ MODULE_NAME ‘ib_udf’;

DECLARE EXTERNAL FUNCTION STRLEN
    CSTRING(32767) CHARACTER SET NONE
RETURNS INTEGER BY VALUE
ENTRY_POINT ‘IB_UDF_strlen’ MODULE_NAME ‘ib_udf’;

DECLARE EXTERNAL FUNCTION RTRIM
    CSTRING(80) CHARACTER SET NONE
RETURNS CSTRING(80) FREE_IT
ENTRY_POINT ‘IB_UDF_rtrim’ MODULE_NAME ‘ib_udf’;

DECLARE EXTERNAL FUNCTION LTRIM
    CSTRING(80) CHARACTER SET NONE
RETURNS CSTRING(80) FREE_IT
ENTRY_POINT ‘IB_UDF_ltrim’ MODULE_NAME ‘ib_udf’;

depois é só usá-la

CREATE PROCEDURE SP_TEMPOLIGPART_SELECIONA
AS
DECLARE VARIABLE STRINGSQL VARCHAR(1000);
DECLARE VARIABLE STRINGSQL2 VARCHAR(1000);
DECLARE VARIABLE LODATA DATE;
DECLARE VARIABLE LOHORA TIME;
DECLARE VARIABLE LONUMERO VARCHAR(100);
DECLARE VARIABLE CODIGORAMAL INTEGER;
DECLARE VARIABLE DATA DATE;
DECLARE VARIABLE HORA TIME;
DECLARE VARIABLE DURACAO TIME;
DECLARE VARIABLE NUMERO CHAR(10);
begin
    STRINGSQL = ”;
    FOR
      SELECT DATA, HORA, NUMERO
      FROM LIGACAO
      WHERE DATA >= ‘06/14/05′ AND TIPO = ‘PARTICULAR’ AND PABX IS NULL INTO :LODATA, :LOHORA, :LONUMERO
    DO
    BEGIN
      STRINGSQL = ‘ SELECT FIRST 1 CODIGORAMAL, DATA, HORA, DURACAO, NUMERO ‘;
      STRINGSQL = STRINGSQL || ‘ FROM LIGACOES’;
      STRINGSQL = STRINGSQL || ‘ WHERE TIPO = ‘ || ”” || ‘SAÍDA’ || ””;
      STRINGSQL = STRINGSQL || ‘ AND DATA =’ || ”” || :LODATA || ””  || ‘ AND’;
      STRINGSQL = STRINGSQL || ‘ (HORA >= ‘ || ”” || (:LOHORA - (5 * 60)) || ”” || ‘ ) AND’;
      STRINGSQL = STRINGSQL || ‘ (HORA <= ‘ || ”” || (:LOHORA + (20 * 60)) || ”” || ‘ ) AND’;
      STRINGSQL = STRINGSQL || ‘ (’;
      /* O SUBSTR COMEÇA A CONTAR DO 0 ENTÃO COLOCAMOS 3 PARA PEGAR OS ULTIMOS 4 CARACTERES*/
      STRINGSQL = STRINGSQL || ‘ RTRIM(NUMERO) LIKE ‘ || ”” || ‘%’ || SUBSTR(:LONUMERO,STRLEN(RTRIM(:LONUMERO)) - 3,STRLEN(RTRIM(:LONUMERO))) || ””; /*||  ‘%’ || ””;*/
      STRINGSQL = STRINGSQL || ‘) ORDER BY 3 DESC’;
      FOR
          EXECUTE STATEMENT STRINGSQL INTO :CODIGORAMAL, :DATA, :HORA, :DURACAO, :NUMERO
      DO
      BEGIN
          STRINGSQL2 = ‘UPDATE LIGACAO’;
          STRINGSQL2 = STRINGSQL2 || ‘ SET PABX = ‘ || ”” || ‘   CÓD. RAMAL : ‘ || ”” || ”” || :CODIGORAMAL || ””
                                                    || ”” || ‘   DATA : ‘ || ”” || ”” || EXTRACT(DAY FROM :DATA) || ‘/’ || EXTRACT(MONTH FROM :DATA) || ‘/’ || EXTRACT(YEAR FROM :DATA) || ””
                                                    || ”” || ‘   HORA : ‘ || ”” || ”” || EXTRACT(HOUR FROM :HORA) || ‘:’ || EXTRACT (MINUTE FROM :HORA) || ‘:’ || EXTRACT(MINUTE FROM :HORA) || ””
                                                    || ”” || ‘  NUMERO :’ || ”” || ”” || :NUMERO || ””
                                                    || ”” || ‘ DURAÇÃO : ‘ ||”” || ”” || EXTRACT(HOUR FROM :DURACAO) || ‘:’ || EXTRACT (MINUTE FROM :DURACAO) || ‘:’ || EXTRACT(MINUTE FROM :DURACAO) || ””;
          STRINGSQL2 = STRINGSQL2 || ‘ WHERE DATA =’ || ”” || :LODATA || ”” || ‘ AND HORA =’ || ”” || :LOHORA || ”” || ‘ AND NUMERO LIKE ‘ || ”” || ‘%’ || SUBSTR(:LONUMERO,STRLEN(RTRIM(:LONUMERO)) - 3,STRLEN(RTRIM(:LONUMERO))) || ””; /*|| ‘%’ || ””;*/
          EXECUTE STATEMENT STRINGSQL2;
      END
    END
  suspend;
end

Tags:

Posted by: Gustavo Henrique | Abril 17, 2008

Consulta no Firebird, utilizando o Union.

Se você já precisou unir duas consultas no Firebird, porém uma não tinha a mesma quantidade de campos da outra, segue um exemplo abaixo utilizo o Union para unir as consultas e o Cast, para gerar campos nulos para que a consulta ocorra.

SELECT I.CODIGOIMAGEM, I.CODIGOALBUM, A.ALBUM, I.SEQUENCIAALBUM, C.CODIGOCATEGORIA, C.CATEGORIA, C.CODIGOTIPO, T.TIPO, C.PROPRIEDADEDIGITAL,
C.PROPRIEDADENEGATIVO, L.CODIGOLOGON, L.LOGON, I.CODIGOLOCAL, LO.LOCAL, LO.CODIGOOBJETO, O.OBJETO,  LO.CODIGOSP, S.SP, LO.KM, I.CODIGOEMPRESA,
E.EMPRESA, I.CODIGOFOTOGRAFO, F.FOTOGRAFO, F.CODIGOESTUDIO, ES.ESTUDIO, I.ASSUNTO, I.DATA, I.DATAREGISTRO, I.HORAREGISTRO
FROM IMAGEM I, ALBUM A, CATEGORIA C, TIPO T, LOGON L, LOCAL LO, OBJETO O, SP S, EMPRESA E, FOTOGRAFO F, ESTUDIO ES
WHERE I.CODIGOALBUM = A.CODIGOALBUM AND I.CODIGOCATEGORIA = C.CODIGOCATEGORIA AND C.CODIGOTIPO = T.CODIGOTIPO AND I.CODIGOLOGON = L.CODIGOLOGON AND
I.CODIGOLOCAL = LO.CODIGOLOCAL AND LO.CODIGOOBJETO = O.CODIGOOBJETO  AND LO.CODIGOSP = S.CODIGOSP AND I.CODIGOEMPRESA = E.CODIGOEMPRESA AND
F.CODIGOESTUDIO = ES.CODIGOESTUDIO AND I.CODIGOFOTOGRAFO = F.CODIGOFOTOGRAFO AND C.CODIGOCATEGORIA IS NOT NULL
UNION
SELECT I.CODIGOIMAGEM, I.CODIGOALBUM, A.ALBUM, I.SEQUENCIAALBUM, COALESCE(I.CODIGOCATEGORIA,NULL), CAST(”’EM BRANCO”’ AS VARCHAR(20)), COALESCE(0,NULL), CAST(”’EM BRANCO”’ AS VARCHAR(20)), CAST(” AS VARCHAR(1)),  CAST (” AS VARCHAR(1)), L.CODIGOLOGON, L.LOGON, COALESCE(I.CODIGOLOCAL,NULL), CAST(”’EM BRANCO”’ AS VARCHAR(20)), COALESCE(0, NULL), CAST(”’EM BRANCO”’ AS VARCHAR(50)), COALESCE(0,NULL), CAST (”’EM BRANCO”’ AS VARCHAR(20)), CAST(”’EM BRANCO”’ AS VARCHAR(20)), COALESCE(0,NULL), CAST(”’EM BRANCO”’ AS VARCHAR(50)), COALESCE(0,NULL), CAST(”’EM BRANCO”’ AS VARCHAR(50)), COALESCE(0,NULL),  CAST (”’EM BRANCO”’ AS VARCHAR(50)), CAST(”’EM BRANCO”’ AS VARCHAR(200)),I.DATA, I.DATAREGISTRO, I.HORAREGISTRO
FROM IMAGEM I, LOGON L, ALBUM A
WHERE I.CODIGOLOGON = L.CODIGOLOGON AND I.CODIGOALBUM = A.CODIGOALBUM AND I.CODIGOCATEGORIA IS NULL AND I.CODIGOFOTOGRAFO IS NULL AND I.ASSUNTO IS NULL
ORDER BY 1

Tags:

Posted by: Gustavo Henrique | Abril 17, 2008

Setando um Generator via Stored Procedure no Firebird.

CREATE PROCEDURE AAAAAA_APAGAAPARTIR (
    IPCODIGOINICIAL INTEGER)
AS
DECLARE VARIABLE VCODIGOMAIOR INTEGER;
begin
  /* SERÁ APAGADO DESTE ATÉ O ÚLTIMO INFORMADO, A PARTIR DESTE */
  DELETE FROM PROPRIEDADENEGATIVO WHERE CODIGOIMAGEM >= :IPCODIGOINICIAL;
  DELETE FROM RELACOES WHERE CODIGOIMAGEM >= :IPCODIGOINICIAL;
  DELETE FROM IMAGEM WHERE CODIGOIMAGEM >= :IPCODIGOINICIAL;

  SELECT MAX(CODIGOPROPRIEDADENEGATIVO) FROM PROPRIEDADENEGATIVO INTO :VCODIGOMAIOR;
  EXECUTE STATEMENT ‘SET GENERATOR GEN_CODIGOPROPRIEDADENEGATIVO TO ‘ || VCODIGOMAIOR;

  SELECT MAX(CODIGORELACOES) FROM RELACOES INTO :VCODIGOMAIOR;
  EXECUTE STATEMENT ‘SET GENERATOR GEN_CODIGORELACOES TO ‘ || VCODIGOMAIOR;

  SELECT MAX(CODIGOIMAGEM) FROM IMAGEM INTO :VCODIGOMAIOR;
  EXECUTE STATEMENT ‘SET GENERATOR GEN_CODIGOIMAGEM TO ‘ || VCODIGOMAIOR;

end

Tags:

Posted by: Gustavo Henrique | Abril 17, 2008

Stored Procedure no Firebird utilizando Vários Recursos.

CREATE PROCEDURE SP_MEDIA_INCLUITE
AS
DECLARE VARIABLE DATAINICIAL DATE;
DECLARE VARIABLE PREFIXO VARCHAR(5);
DECLARE VARIABLE TIPO VARCHAR(6);
DECLARE VARIABLE DATA DATE;
DECLARE VARIABLE KMINICIAL NUMERIC(18,2);
DECLARE VARIABLE KMFINAL NUMERIC(18,2);
DECLARE VARIABLE MEDIA NUMERIC(18,2);
DECLARE VARIABLE COMBUSTIVELQTD NUMERIC(18,2);
DECLARE VARIABLE COMBUSTIVELVLR NUMERIC(18,2);
DECLARE VARIABLE GRAXAQTD NUMERIC(18,2);
DECLARE VARIABLE MANUTENCAOVLR NUMERIC(18,2);
DECLARE VARIABLE LUBRIFACANTEQTD NUMERIC(18,2);
DECLARE VARIABLE FILTROQTD NUMERIC(18,2);
DECLARE VARIABLE FILTROVLR NUMERIC(18,2);
DECLARE VARIABLE MAQUINAVEICULO VARCHAR(1);
DECLARE VARIABLE OBSERVACAO VARCHAR(200);
DECLARE VARIABLE RESPONSAVEL VARCHAR(100);
DECLARE VARIABLE HORAKM NUMERIC(18,2);
DECLARE VARIABLE IMPORTACAO INTEGER;
DECLARE VARIABLE DATAFINAL DATE;
BEGIN
/*
 PONTOS IMPORTANSSIMOS : ERROS QUE NÃO PODERÍAM DAR
 MEDIA, MEDIALEVES, MEDIAPESADOS COM 0;
 KMINICIAL E KMFINAL IGUAIS;
 QTDCOMBUSTIVEL 0;
*/
  FOR
    SELECT PREFIXO, DATA FROM IMPORTACAO INTO :PREFIXO, :DATA
  DO
  BEGIN
    FOR
        SELECT PREFIXO, TIPO, DATA, KMFINAL, OBSERVACAO, RESPONSAVEL
        FROM MEDIAINTERMEDIARIA
        WHERE  PREFIXO = :PREFIXO AND DATA > :DATA  AND (COALESCE(MEDIALEVES,0) <> 0)
        ORDER BY 1,3
        INTO :PREFIXO, :TIPO, :DATAFINAL, :KMFINAL, :OBSERVACAO, :RESPONSAVEL
    DO
    BEGIN
        SELECT FIRST 1 DATA FROM MEDIAINTERMEDIARIA
        WHERE PREFIXO = :PREFIXO AND DATA < :DATAFINAL AND (COALESCE(MEDIALEVES,0) <> 0)
        ORDER BY DATA DESC INTO :DATAINICIAL;
 
        IF (DATAINICIAL IS NULL) THEN
        BEGIN
            DATAINICIAL = DATAFINAL;
        END
 
        IF (DATAINICIAL <> DATAFINAL) THEN
        BEGIN
           DATAINICIAL = DATAINICIAL + 1;
        END
 
        SELECT SUM(MEDIA) AS MEDIA, SUM(COMBUSTIVELQTD) AS COMBUSTIVELQTD, SUM(COMBUSTIVELVLR) AS COMBUSTIVELVLR, SUM(GRAXAQTD) AS GRAXAQTD, SUM(MANUTENCAOVLR) AS MANUTENCAOVLR, SUM(LUBRIFACANTEQTD) AS LUBRIFACANTEQTD, SUM(FILTROQTD) AS FILTROQTD, SUM(FILTROVLR) AS FILTROVLR
        FROM MEDIAINTERMEDIARIA
        WHERE PREFIXO = :PREFIXO AND DATA >= :DATAINICIAL AND DATA <= :DATAFINAL
        INTO :MEDIA, :COMBUSTIVELQTD, :COMBUSTIVELVLR, :GRAXAQTD, :MANUTENCAOVLR, :LUBRIFACANTEQTD, :FILTROQTD, :FILTROVLR;
 
        SELECT MIN(KMINICIAL)
        FROM MEDIAINTERMEDIARIA
        WHERE PREFIXO = :PREFIXO AND DATA = :DATAINICIAL
        INTO :KMINICIAL;
        IF ((COALESCE(KMINICIAL,0) = 0) OR (KMINICIAL IS NULL)) THEN
        BEGIN
            SELECT MIN(KMFINAL)
            FROM MEDIAINTERMEDIARIA
            WHERE PREFIXO = :PREFIXO AND DATA = :DATAINICIAL - 1
            INTO :KMINICIAL;
        END
        IF ((COALESCE(KMINICIAL,0) <> 0) AND (COALESCE(KMFINAL,0) <> 0) AND (COALESCE(COMBUSTIVELQTD,0) <> 0) AND ( (COALESCE(KMINICIAL,0) - COALESCE(KMFINAL,0) <> 0))  ) THEN
        BEGIN
            IF (TIPO = ‘L’) THEN
                MEDIA = COALESCE( (KMFINAL - KMINICIAL) / COMBUSTIVELQTD, 0 );
            IF (TIPO = ‘P’) THEN
                MEDIA = COALESCE( COMBUSTIVELQTD / (KMFINAL - KMINICIAL), 0 );
        END
        ELSE
        BEGIN
            MEDIA = 0;
        END
        EXECUTE PROCEDURE SP_MEDIA_INCLUI ( :PREFIXO, :DATAINICIAL, :DATAFINAL, MEDIA, :KMINICIAL, :KMFINAL, :COMBUSTIVELVLR, :GRAXAQTD, :MANUTENCAOVLR, :COMBUSTIVELQTD, :LUBRIFACANTEQTD, :KMFINAL - :KMINICIAL, :FILTROQTD, :FILTROVLR, :TIPO);
 
        SELECT COALESCE(COUNT(*),0) FROM IMPORTACAO WHERE PREFIXO = :PREFIXO INTO :IMPORTACAO;
        IF (IMPORTACAO = 0) THEN
        BEGIN
            INSERT INTO IMPORTACAO ( PREFIXO, DATA) VALUES (:PREFIXO,:DATA);
        END
        ELSE
        BEGIN
          UPDATE IMPORTACAO
          SET  DATA = :DATAFINAL
          WHERE (PREFIXO = :PREFIXO);
        END
   /*     DELETE FROM MEDIA WHERE PREFIXO = :PREFIXO AND (MEDIA = 0 OR MEDIA IS NULL OR MEDIA < 0);*/
 /*       DELETE FROM MEDIAINTERMEDIARIA WHERE PREFIXO = :PREFIXO;*/
    END
  END
  DELETE FROM MEDIA WHERE MEDIA = 0 OR MEDIA IS NULL OR MEDIA < 0;
  DELETE FROM MEDIAINTERMEDIARIA;
END

Tags:

Posted by: Gustavo Henrique | Abril 17, 2008

Importando Arquivos Textos direto para o Firebird.

Isto só é possível com a criação externa de tabelas.

CREATE TABLE PAGAMENTOIMPORTACAO EXTERNAL ‘/home/sistemas/teste/Importa’ (
    EMPRESA       CHAR(3) CHARACTER SET NONE,
    FILIAL        CHAR(2) CHARACTER SET NONE,
    DEPARTAMENTO  CHAR(3) CHARACTER SET NONE,
    SETOR         CHAR(3) CHARACTER SET NONE,
    FILREG        CHAR(2) CHARACTER SET NONE,
    FICHAREG      CHAR(6) CHARACTER SET NONE,
    CODIGO        CHAR(3) CHARACTER SET NONE,
    NUMHORAS      CHAR(5) CHARACTER SET NONE,
    VALHORAS      CHAR(7) CHARACTER SET NONE,
    BASE          CHAR(12) CHARACTER SET NONE,
    VALOR         CHAR(12) CHARACTER SET NONE,
    CTRL          CHAR(2) CHARACTER SET NONE
);

o caminho REAL do SERVIDOR onde ficará o arquivo é “/home/sistemas/teste/Importa”,

no final é obrigatório a utilização do “CTRL CHAR(2) CHARACTER SET NONE”, que indica a mudança de linha.

criei uma outra stored procedure que lê tudo o que está nessa tabela e insere na minha tabela real, realizando as conversões.

 

CREATE PROCEDURE SP_PAGIMPORTACAO_CONVERSAO (
    IPDATA DATE)
AS
DECLARE VARIABLE VEMPRESA CHAR(3);
DECLARE VARIABLE VFILIAL CHAR(2);
DECLARE VARIABLE VDEPARTAMENTO CHAR(3);
DECLARE VARIABLE VSETOR CHAR(3);
DECLARE VARIABLE VFILREG CHAR(2);
DECLARE VARIABLE VFICHAREG CHAR(6);
DECLARE VARIABLE VCODIGO CHAR(3);
DECLARE VARIABLE VNUMHORAS CHAR(5);
DECLARE VARIABLE VVALHORAS CHAR(7);
DECLARE VARIABLE VBASE CHAR(12);
DECLARE VARIABLE VVALOR CHAR(12);
DECLARE VARIABLE VMES VARCHAR(3);
DECLARE VARIABLE VSTRINGSQL VARCHAR(100);
DECLARE VARIABLE OPEMPRESA INTEGER;
DECLARE VARIABLE OPFILIAL INTEGER;
DECLARE VARIABLE OPDEPARTAMENTO INTEGER;
DECLARE VARIABLE OPSETOR INTEGER;
DECLARE VARIABLE OPFILREG INTEGER;
DECLARE VARIABLE OPFICHAREG INTEGER;
DECLARE VARIABLE OPCODIGO INTEGER;
DECLARE VARIABLE OPNUMHORAS NUMERIC(3,2);
DECLARE VARIABLE OPVALHORAS NUMERIC(5,2);
DECLARE VARIABLE OPBASE NUMERIC(10,2);
DECLARE VARIABLE OPVALOR NUMERIC(10,2);
begin
    FOR
        SELECT EMPRESA, FILIAL, DEPARTAMENTO, SETOR, FILREG, FICHAREG, CODIGO, NUMHORAS, VALHORAS, BASE, VALOR
        FROM PAGAMENTOIMPORTACAO
        INTO :VEMPRESA, :VFILIAL, :VDEPARTAMENTO, :VSETOR, :VFILREG, :VFICHAREG, :VCODIGO, :VNUMHORAS, :VVALHORAS, :VBASE, :VVALOR
    DO
    BEGIN
        OPEMPRESA = CAST(:VEMPRESA AS INTEGER);
        OPFILIAL = CAST(:VFILIAL AS INTEGER);
        OPDEPARTAMENTO = CAST(:VDEPARTAMENTO AS INTEGER);
        OPSETOR = CAST(:VSETOR AS INTEGER);
        OPFILREG = CAST(:VFILREG AS INTEGER);
        OPFICHAREG = CAST(:VFICHAREG AS INTEGER);
        OPCODIGO = CAST(:VCODIGO AS INTEGER);
        OPNUMHORAS = CAST(SUBSTR(:VNUMHORAS,1,3) || + ‘.’ || + SUBSTR(:VNUMHORAS,4,6) AS NUMERIC (3,2));
        OPVALHORAS = CAST(SUBSTR(:VVALHORAS,1,5) || + ‘.’ || + SUBSTR(:VVALHORAS,6, 8) AS NUMERIC (5,2));
        OPBASE = CAST(SUBSTR(:VBASE,1,10) || + ‘.’ || + SUBSTR(:VBASE,11,12) AS NUMERIC (10,2));
        OPVALOR = CAST(SUBSTR(:VVALOR,1,10) || + ‘.’ || + SUBSTR(:VVALOR,11,12) AS NUMERIC (10,2));

        INSERT INTO PAGAMENTO (EMPRESA, FILIAL, DEPARTAMENTO, SETOR, FILREG, FICHAREG, CODIGO, NUMHORAS, VALHORAS, BASE, VALOR, DATA)
        VALUES (:OPEMPRESA, :OPFILIAL, :OPDEPARTAMENTO, :OPSETOR, :OPFILREG, :OPFICHAREG, :OPCODIGO, :OPNUMHORAS, :OPVALHORAS, :OPBASE, :OPVALOR, :IPDATA);
    END
end

Tags:

Posted by: Gustavo Henrique | Abril 17, 2008

Utilizando o SCP.

Copiando do host local para remoto :

 

$ scp arquivo emanuel@ip_ou_nome_da_maquina_remota:

 

Vai copiar o arquivo para o diretório home do usuário emanuel na máquina remota.

 

Não esqueça dos “:” no final;

No nome do arquivo você pode utilizar “*”, expressões regulares,

etc…

 

 Local para diretório “/var/copia” da maquina remota:

 

$ scp arquivo emanuel@ip_ou_nome_da_maquina_remota:/var/copia

 

Ídem ídem, mas o arquivo vai para o diretório /var/copia da máquina destino. Claro que o usuario “emanuel” do exemplo, precisa ter direito de escrita neste diretório.

 

Caso você precise copiar um diretório inteiro, use o “-r”:

 

$ scp -r diretório emanuel@ip_ou_nome_da_maquina_remota:

 

O “-r” tem que ficar logo após o scp para funcionar.

 

Ah sim !  No sentido contrário (remoto para local) é só inverter:

 

$ scp emanuel@ip_ou_nome_da_maquina_remota:arquivo .

 

Copia o arquivo da máquina remota para o diretório local. Aqui também vale lembrar que o usuário emanuel precisa ter direito de leitura neste arquivo da máquina destino.

 

IMPORTANTE: o scp não avisa se o arquivo já existir no destino.

Simplesmente sobreescreve. Fique atento a isso !

Tags:

Posted by: Gustavo Henrique | Abril 17, 2008

Alterando Data, Hora, Dia no Linux.

date MMDDhhmmYYYY

Tags:

Posted by: Gustavo Henrique | Abril 17, 2008

Desabilitando o Ctrl+Alt+Del no Linux.

Em

/etc/inittab

Procure a Linha

ca::ctrlaltdel:echo “REBOOT DESABILITADO”

Ou Comente-a ou escreva uma mensagem como no exemplo acima depois no prompt execute

Init q

Tags: , ,

Posted by: Gustavo Henrique | Abril 17, 2008

Baixe um Super Calendário de 1900 até 2050.

Tags: , , ,

Posted by: Gustavo Henrique | Abril 3, 2008

Tirar o compartilhamento C$.

Basta ir no painel de controle ferramentas administrativas, gerenciamento do computador, pastas compartilhadas, compartilhamentos selecionar a unidade, clicar com o botão direito e interromper compartilhamento.

veja figura :

tirar-compartilhamento.jpg

Tags: , , ,

Posted by: Gustavo Henrique | Abril 3, 2008

Pegadinha de Celular.

Pessoal segue link para download http://w13.easy-share.com/1700029421.html , essa pegadinha é muito boa.

Tags: ,

Posted by: Gustavo Henrique | Abril 3, 2008

Quando você tenta abrir um PDF na Internet ele abre pelo Acrobat ?

Se você assim como eu acha um saco que ao clicar em um PDF na Internet o acrobat não abra no navegador, entre em editar -> preferencias, vá em internet e deixe as opções desmarcadas conforme a figura. Acrobat IE

Tags: , ,

Para deixar no padrão a cópia oculta - cco, basta vc criar uma mensagem nova, ir em exibir e todos os cabeçalhos como mostra a figura Cópia Oculta - CCO pronto todas as próximas mensagens criadas p cco irá aparecer.

Tags: , , ,

Posted by: Gustavo Henrique | Março 31, 2008

Saíba todos os erros do Firebird versão 2.0 .

Baixe o PDF Erros do Firebird. contendo os principais erros do Firebird, arquivo importante para o dia-a-dia do programador.

Posted by: Gustavo Henrique | Março 31, 2008

Seu Norton Corporate usa 100% da sua CPU.

Caso após a Instalação do Norton Corporate o Symantec ficar usando 100% da sua CPU, vc está com problemas do DOSCAN, para isso siga os passos no site abaixo http://service1.symantec.com:80/SUPPORT/ent-security.nsf/docid/2005042710304248 que na verdade, diz para executar o .reg disponibilizado diretamente pelo link ftp://ftp.symantec.com/public/english_us_canada/linked_files/ent_sec/RemoveStartScan.reg , isto ocorre pois o Corporate ao ser executado realiza algumas buscas e trocas de informações com seus clientes.

Posted by: Gustavo Henrique | Março 31, 2008

Site de Busca.

O site http://www.rapidsearch.infobind.com/ reune a busca em vários sites como o Search Rapidshare, Megaupload, Uploading, Megashare, Turboupload, Filefactory, Gigasize, Badongo, 4Shared, Depositfiles, Easy-share, Mediafire, Sendspace, Zshare e outros sites que armazenam arquivos.

Isto que eu chamo de mão na roda, e como vai facilitar.

Tags: ,

Vá no painel de controle encontre o JAVA

java1.jpg

desmarque aopção de atualização automática

java2.jpg

provavelmente abrirá uma nova jabela, clique em “never check”

java3.jpg

ficará assim, clique em OK e pronto.

Tags: , , ,

Posted by: Gustavo Henrique | Março 27, 2008

Retirando as Atualizações Automáticas do Adobe Acrobat 8.

Vá no menu Ajuda, submenu “verificar atualizações…”, aparecerá a seguinte tela 

acrobatimagem1.jpg

clique em preferências, abrirá a janela.

acrobatimagem2.jpg

desmarque as opções e clique em ok.

Tags: , ,

Posted by: Gustavo Henrique | Março 26, 2008

Procedure que Apaga Registros e Zera os Generators no Firebird.

SET SQL DIALECT 3;
SET NAMES ISO8859_1;

SET TERM ^ ;
CREATE PROCEDURE SP_LIMPAR_TABELAS
AS
BEGIN
EXIT;
END^
SET TERM ; ^

SET TERM ^ ;
ALTER PROCEDURE SP_LIMPAR_TABELAS
AS
DECLARE VARIABLE NOME_OBJETO VARCHAR(80);
DECLARE VARIABLE VSQL VARCHAR(256);
begin
FOR
SELECT DISTINCT t.RDB$RELATION_NAME TABELA
FROM RDB$USER_PRIVILEGES t
WHERE t.RDB$RELATION_NAME NOT LIKE ‘RDB$%’ AND
t.RDB$OBJECT_TYPE=0
ORDER BY 1
INTO :nome_objeto
DO
BEGIN
VSQL = ‘DELETE FROM ‘ :nome_objeto;
EXECUTE STATEMENT VSQL;
END

FOR SELECT g.RDB$GENERATOR_NAME
FROM RDB$GENERATORS g
WHERE (g.RDB$GENERATOR_NAME NOT LIKE ‘RDB$%’) AND
(g.RDB$GENERATOR_NAME NOT LIKE ‘SQL$%’)
INTO :nome_objeto
DO
BEGIN
VSQL = ‘SET GENERATOR ‘ :nome_objeto ‘ TO 0′;
EXECUTE STATEMENT VSQL;
END

end

Tags: ,

Posted by: Gustavo Henrique | Março 26, 2008

Backup e Restore Apagando tudo da Tabela no Firebird …

Para Backup use :

GBAK -M -V -USER SYSDBA -PAS masterkey seubanco.GDB META.GBK

Para Restaurar use :

GBAK -R -V -P 4096 -USER SYSDBA -PAS masterkey META.GBK META.GDB

Tags: , ,

Older Posts »

Categories