Pessoal,
descbri uma nova dimensão para fanáticos que vivem na net, trata-se de um site destinado a busca de imagens semelhantes a uma outra. No site Pictriev basta fazer o upload de uma foto e aguardar o processamento, em segundos um vasto resultado é exibido contendo fotos semelhantes, confiram, vale a pena.
sexta-feira, 18 de fevereiro de 2011
Reconhecimento Facial
quinta-feira, 17 de fevereiro de 2011
Pen Drive Kingston 128 GB
Pessoal, funciona perfeitamente, meu problema foi parecido com o que a Danielle postou aqui e tá rolando numa boa, se quiserem conferir outros artigo de seu blog acessem: http://mdaumadica.wordpress.com/
Segue o artigo da Danielle.
Hoje estou aqui pra relatar minha experiência com a pen drive Kingston 128 GB!
Eu a comprei em um camelô por míseros R$ 50,00, chegando em casa me deparei com a seguinte mensagem quando fui acessá-la:
Partição com problema, necessária formatação… Bom, aí começou o meu problema! Cliquei com o lado direito em cima do drive e mandei formatar pelo windows, ele efetuou o processo e no final apresentou a mensagem: Não foi possível efetuar a formatação. Quando li essa mensagem eu pensei: “Pronto quis dar uma de esperta e me ferrei perdi R$ 50,00!”
Pesquiso na internet de um lado pro outro e só aumenta a minha raiva por ter comprado o pen drive por que todos relatavam que não tinha como formatar por ser falsificado que era dinheiro jogado fora q daria um excelente chaveiro e por aí vai…
No desespero utilizei o HP USB Disk Storage Format Tool que eu sempre utilizo pra formatar os meus pen drives e nunca me deixou na mão e nada ele apresentou a mensagem: Partição Corrompida. Utilizei o Partition Magic 11.0 DOS e ele apresentava a mesma mensagem, aí me lembrei que eu tive um problema parecido com o meu pen drive de 1 Gb e o HDD Regenerator 1.71 me ajudou… bom, o programa começou a fazer a verificação e logo no início marcou Bad Block aí eu pensei: “Caramba nunca foi usado e está com Bad Block, mais se o HDD recuperar tá tudo bem”
Três dias se passaram e nada de acabar a verficação! Nesse período ele verificou somente 22% do pen drive!! Desisti… aí hoje eu resolvi colocar o pen drive no meu notebook que tem o windows 7, ele reconheceu e informou que era necessário formatar e me perguntou se eu aceitava, eu não tinha nada a perder então mandei ele formatar, ele informou o tipo de partição que iria utilizar pra minha surpresa foi exFAT e formatou sem problemas!! Consigo utilizar o pen drive sem problema nenhum aí lá fui eu eu colocar o pen drive no windows XP e nada de conseguir acessar, pesquisei na internet e achei uma atualização que era necessária para que o windows reconhecesse esse tipo de partção! Agora eu consigo utilizar sem problema nenhum minha pen drive de 128 GB falsificada rsrs!
Irei disponibilizar o patch necessário pro windows XP, com esse patch instalado você vai conseguir formatar a pen drive com o tipo correto de extensão.
Este procedimento é indicado para pen drives a partir de 32 GB
Qualquer dúvida é só enviar mensagem
Abraço e até a próxima!
terça-feira, 15 de fevereiro de 2011
UTL_MAIL (Enviando e-mails)
The UTL_MAIL
package provides a simple API to allow email to be sent from PL/SQL. In prior versions this was possible using the UTL_SMTP
package, but this required knowledge of the SMTP protocol.
The package is loaded by running the following scripts:
CONN sys/password AS SYSDBA @$ORACLE_HOME/rdbms/admin/utlmail.sql @$ORACLE_HOME/rdbms/admin/prvtmail.plb |
In addition the SMTP_OUT_SERVER
parameter must be set to identify the SMTP server:
| CONN sys/password AS SYSDBA ALTER SYSTEM SET smtp_out_server='smtp.domain.com' SCOPE=SPFILE; SHUTDOWN IMMEDIATE STARTUP |
With the configuration complete we can now send a mail using:
BEGIN UTL_MAIL.send(sender => 'me@domain.com', recipients => 'person1@domain.com,person2@domain.com', cc => 'person3@domain.com', bcc => 'myboss@domain.com', subject => 'UTL_MAIL Test', message => 'If you get this message it worked!'); END; / |
The package also supports sending mails with RAW
and VARCHAR2
attachments
Fonte: http://www.oracle-base.com/articles/10g/PlsqlEnhancements10g.php
UTL_COMPRESS
The UTL_COMPRESS
package provides an API to allow compression and decompression of binary data (RAW
, BLOB
and BFILE
). It uses the Lempel-Ziv compression algorithm which is equivalent to functionality of the gzip
utility. A simple example of it's usage would be:
SET SERVEROUTPUT ON DECLARE l_original_blob BLOB; l_compressed_blob BLOB; l_uncompressed_blob BLOB; BEGIN -- Initialize both BLOBs to something. l_original_blob := TO_BLOB(UTL_RAW.CAST_TO_RAW('1234567890123456789012345678901234567890')); l_compressed_blob := TO_BLOB('1'); l_uncompressed_blob := TO_BLOB('1'); -- Compress the data. UTL_COMPRESS.lz_compress (src => l_original_blob, dst => l_compressed_blob); -- Uncompress the data. UTL_COMPRESS.lz_uncompress (src => l_compressed_blob, dst => l_uncompressed_blob); -- Display lengths. DBMS_OUTPUT.put_line('Original Length : ' || LENGTH(l_original_blob)); DBMS_OUTPUT.put_line('Compressed Length : ' || LENGTH(l_compressed_blob)); DBMS_OUTPUT.put_line('Uncompressed Length: ' || LENGTH(l_uncompressed_blob)); -- Free temporary BLOBs. DBMS_LOB.FREETEMPORARY(l_original_blob); DBMS_LOB.FREETEMPORARY(l_compressed_blob); DBMS_LOB.FREETEMPORARY(l_uncompressed_blob); END; / |
Fonte: http://www.oracle-base.com/articles/10g/PlsqlEnhancements10g.php
Flashback Query Functions
The TIMESTAMP_TO_SCN
and SCN_TO_TIMESTAMP
functions have been added to SQL and PL/SQL to simplify flashback operations:
SELECT * FROM emp AS OF SCN TIMESTAMP_TO_SCN(SYSTIMESTAMP - 1/24);SELECT * FROM emp AS OF TIMESTAMP SCN_TO_TIMESTAMP(993240);DECLARE l_scn NUMBER; l_timestamp TIMESTAMP; BEGIN l_scn := TIMESTAMP_TO_SCN(SYSTIMESTAMP - 1/24); l_timestamp := SCN_TO_TIMESTAMP(l_scn); END; / |
Fonte: http://www.oracle-base.com/articles/10g/PlsqlEnhancements10g.php
Regular Expressions
Oracle 10g supports regular expressions in SQL and PL/SQL with the following functions:
REGEXP_INSTR
- Similar toINSTR
except it uses a regular expression rather than a literal as the search string.REGEXP_LIKE
- Similar toLIKE
except it uses a regular expression as the search string.REGEXP_REPLACE
- Similar toREPLACE
except it uses a regular expression as the search string.REGEXP_SUBSTR
- Returns the string matching the regular expression. Not really similar toSUBSTR
.
The following examples show how these functions can be used with a simple regular expression ('[0-9]{4} [0-9]{4} [0-9]{4} [0-9]{4}'
) for basic credit card validation:
SET SERVEROUTPUT ON DECLARE l_text VARCHAR2(100) := 'My credit card details are: 1234 1234 1234 1234'; l_regular_expr VARCHAR2(50) := '[0-9]{4} [0-9]{4} [0-9]{4} [0-9]{4}'; l_credit_card_1 VARCHAR2(50) := '1234 1234 1234 1234'; l_credit_card_2 VARCHAR2(50) := '123c 1234 1234 1234'; BEGIN -- REGEXP_INSTR IF REGEXP_INSTR(l_text, l_regular_expr) > 0 THEN DBMS_OUTPUT.put_line('REGEXP_INSTR: Your input contains credit card details, this is a security risk!'); END IF; -- REGEXP_LIKE IF REGEXP_LIKE(l_credit_card_1, l_regular_expr) THEN DBMS_OUTPUT.put_line('REGEXP_LIKE: Good Credit Card: ' || l_credit_card_1); END IF; IF NOT REGEXP_LIKE(l_credit_card_2, l_regular_expr) THEN DBMS_OUTPUT.put_line('REGEXP_LIKE: Bad Credit Card : ' || l_credit_card_2); END IF; -- REGEXP_REPLACE DBMS_OUTPUT.put_line('REGEXP_REPLACE: Before: ' || l_text); DBMS_OUTPUT.put_line('REGEXP_REPLACE: After : ' || REGEXP_REPLACE(l_text, l_regular_expr, '**** **** **** ****')); -- REGEXP_SUBSTR DBMS_OUTPUT.put_line('REGEXP_SUBSTR: Matching String : ' || REGEXP_SUBSTR(l_text, l_regular_expr)); END; / |
Building regular expressions to match your requirements can get a little confusing and this is beyond the scope of this article.
Fonte: http://www.oracle-base.com/articles/10g/PlsqlEnhancements10g.php
Quoting Mechanism for String Literals
Oracle 10g allows you to define your own string delimiters to remove the need to double up any single quotes. Any character that is not present in the string can be used as the delimeter:
| SET SERVEROUTPUT ON BEGIN -- Orginal syntax. DBMS_OUTPUT.put_line('This is Tim''s string!'); -- New syntax. DBMS_OUTPUT.put_line(q'#This is Tim's string!#'); DBMS_OUTPUT.put_line(q'[This is Tim's string!]'); END; /This is Tim's string! This is Tim's string! This is Tim's string! PL/SQL procedure successfully completed. |
Fonte: http://www.oracle-base.com/articles/10g/PlsqlEnhancements10g.php
Compile-Time Warnings
Oracle can now produce compile-time warnings when code is ambiguous or inefficient be setting the PLSQL_WARNINGS
parameter at either instance or session level. The categories ALL, SEVERE, INFORMATIONAL and PERFORMANCE can be used to alter the type of warnings that are produced. Examples of their usage include:
-- Instance and session level. ALTER SYSTEM SET PLSQL_WARNINGS='ENABLE:ALL'; ALTER SESSION SET PLSQL_WARNINGS='DISABLE:PERFORMANCE';-- Recompile with extra checking. ALTER PROCEDURE hello COMPILE PLSQL_WARNINGS='ENABLE:PERFORMANCE';-- Set mutiple values. ALTER SESSION SET PLSQL_WARNINGS='ENABLE:SEVERE','DISABLE:PERFORMANCE','DISABLE:INFORMATIONAL';-- Use the DBMS_WARNING package instead. EXEC DBMS_WARNING.SET_WARNING_SETTING_STRING('ENABLE:ALL' ,'SESSION'); |
The current settings associated with each object can be displayed using the [USER|DBA|ALL]_PLSQL_OBJECT_SETTINGS
views.
To see a typical example of the warning output try:
ALTER SESSION SET PLSQL_WARNINGS='ENABLE:ALL';CREATE OR REPLACE PROCEDURE test_warnings AS l_dummy VARCHAR2(10) := '1'; BEGIN IF 1=1 THEN SELECT '2' INTO l_dummy FROM dual; ELSE RAISE_APPLICATION_ERROR(-20000, 'l_dummy != 1!'); END IF; END; /SP2-0804: Procedure created with compilation warningsSHOW ERRORSLINE/COL ERROR -------- --------------------------- 9/5 PLW-06002: Unreachable code |
The errors can be queried using the %_ERRORS
views.
Fonte: http://www.oracle-base.com/articles/10g/PlsqlEnhancements10g.php