segunda-feira, 30 de maio de 2011

Decode do Oracle no SQL Server

Olá,

No Oracle, quando precisamos fazer um if no select usamos o comando decode, como no exemplo abaixo:

select decode( campo, valor1, retorno1, retornoelse) from tabela

Como podemos fazer isso no SQL Server? Bom, SQL Server, devemos utilizar o case, veja o select abaixo:

Select case campo when valor1 then retorno1 else retornoelse end as colunaIIf from tabela

Até,

sábado, 28 de maio de 2011

Equivalente ao Top do SQL Server no Oracle

Olá,

Continuando com as equivalencias entre Orace e SQL Server, me pediram pra falar sobre como fazer um top no Oracle...

Bom vamos lá, no SQL Server, quando precisamos pegar um determindado numero de linhas, usamos o top, por exemplo, vou pegar duas linhas no select abaixo

select top 2 * from tabela

No Oracle, limitamos o rownum no where

select * from tabela where rownum <=2


Até,

quinta-feira, 26 de maio de 2011

NVL do Oracle no SQL Server

Olá,

No Oracle quando precisamos testar se o conteúdo de uma coluna é null utilizamos a função nvl, da seguinte forma

select nvl(coluna, 'valornull') from tabela

Hoje me perguntaram como fazer isso no SQL Server, bom o SQL Server também tem a sua 'versão do nvl' que é a função isnull

select isnull(coluna, 'valornull) from tabela

É bem simples, porém sempre é bom dar uma relembrada, em breve vou colocar mais exemplos de equivalencia de funções entre o Oracle e SQL Server

Até,

quarta-feira, 25 de maio de 2011

Oracle Connect By Prior (Pra que serve?)

Olá,

Hoje vou falar sobre um recurso muito bacana e que às vezes não é explorado pelos programadores Oracle, esse recurso é o connect by prior.

O connect by prior serve para montar uma query com uma árvore recursiva, muito devem estar se perguntando, mas qual a utilidade disso?

A utilidade é quando temos, por exemplo, que listar qual funcionario está abaixo de quem.. Vou por um exemplo de código que acho que fica mais claro...

Primeiro vou criar uma tabela de funcionarios...

create table funcionarios( cod_funcionario NUMBER not null, cod_superior NUMBER, nome VARCHAR2(20) )

Crio a PK

alter table funcionarios constraint PK_funcionarios primary key (cod_funcionario)

E a FK informando que um superior é um funcionario

alter table funcionarios add constraint FK_funcionarios foreign key (cod_superior) references funcionarios (cod_funcionario)

Agora vamos ao select...

select cod_funcionario, cod_superior, level, nome
from funcionarios
start with cod_superior is null
connect by prior cod_funcionario = cod_superior
order by level

Esse select retorna todos os funcionarios da empresa, do presidente ( que não tem superior ) até os funcionarios que não tem subordinados... Não esquecer de fazer o insert na tabela, lembrando que no nosso caso, pelo menos um funcionário, não deve ter superior

Essa funcionalidade já me quebrou vários galhos..rs, principalmente na criação de menus no Oracle Forms e nos controles de acessos

E o melhor de tudo, é grátis...rs.. Bom, na verdade ele vem com o Oracle, que não é de graça ...rs

Até,

terça-feira, 24 de maio de 2011

Dicas para instalar o Sharepoint

Olá,

A instalação do Sharepoint costuma ser bem tranquila, normalmente é NNF ( Next, Next e Finish ), porém, deixo abaixo uma lista de passos que acredito que devem ser seguidos para evitar maiores problemas:

1) Executar os pré-requisitos

2) Instalar o Sharepoint

3) Utilizar o Wizard para configurar o Sharepoint

4) Utilizar o Wizard para configurar a Farm

Alguns itens para incluir no check-list:

1) Definir os usuários e senhas para as contas abaixo, o ideal é utilizar um usuário para cada conta, assim podemos organizar de melhor forma os acessos de cada usuário:

a) SP_Admin
b) SP_Farm
c) SP_Service
d) SP_Crawl

2) Configurações do banco de dados SQL Server ( bom, nem precisava dizer que é o SQL Server, ou será que alguém quer instalar o Sharepoint no Oracle? )

a) Nome do servidor
b) Nome da instância
c) Nome do banco de configuração do Sharepoint: SharePoint_Config

3) Número da porta TCP para o site Central Admin

4) Passpharse da Farm ( ela será utilizada para permitir que algumas pessoas possam fazer alterações no Sharepoint, sem conhecer a senho do SP_Admin )

5) Product key da instalação do SharePoint

Para os casos onde iremos fazer várias instalações, é possível automatizar a instalação dos pré-requisitos, a instalação do Sharepoint e a configuração da Farm, isso é muito útil para quem presta consultoria e precisa fazer uma instalação, mais ou menos padrão em vários clientes


Até,

segunda-feira, 23 de maio de 2011

Visão Geral do Sharepoint

Olá,

O Sharepoint pra quem não conhece ainda é a plataforma de colaboração empresarial da Microsoft, ele é um "Facebook" (entre aspas) para empresas, claro que ele não foi feito para postar fotos e nem o que fizemos no final de semana... Até podemos fazer, mas acho que o diretor de TI da empresa não vai gostar de saber que gastou dinheiro em um software pra isso..rs

Com o Sharepoint é possível que grupos compartilhem documentos de projetos, inclusive com edição via web no caso do Sharepoint 2010, a idéia principal é que ele seja um centro de compartilhamento de informações e arquivos ( não só isso, claro ) com ele também podemos nos conectar ao active directory, desenvolver aplicações baseadas em bancos de dados e muito mais, em breve falaremos mais sobre essa tecnologia bem legal da Microsoft


Até,

quinta-feira, 19 de maio de 2011

Instalando o SharePoint 2010 no Windows 7

Olá,

Boas noticía, tinha dito que era necessário ter um windows 2008 server para fazer a instalação do SharePoint 2010... Então... Felizmente eu estava enganado!!! É possível sim, fazer essa instalação, é necessário apenas incluir uma linha no arquivo config.xml do instalador...

Segue o link do arquivo do linha de código com a matéria explicando com fazer para permitir a instalação do SharePoint 2010 no Windows 7, agora vai ser um pouco mais fácil testar o SharePoint... Ainda não fiz o teste, mas farei assim que arrumar um tempo...

http://www.linhadecodigo.com.br/artigo/2730/Instalando-o-SharePoint-2010-no-Windows-7.aspx

Até,

Estágio no Google

Olá,

Estava dando uma navegada no site da cia de talentos, e achei um anúncio de vaga de estágio no Google, aqui em São Paulo, para participar do processo seletivo, é necessário que o candidato tenha inglês fluente, frequente um curso de 4 -5 anos e tenha previsão de formatura em dezmbro de 2011, para quem se interessar, segue o link desta vaga http://www.ciadetalentos.com.br/google

Já que estamos falando sobre vagas de emprego, estou incluindo o link do APInfo (www.apinfo.com.br), que costuma ter vagas e algumas informações sobre a área de TI, uma ferramenta bem legal é a planilha de comparação entre CLT e PJ. Pra quem não conhece, vale a pensa dar uma visitada



Até,

terça-feira, 17 de maio de 2011

Sharepoint

Olá,

Andei dando uma pesquisada sobre o Sharepoint 2010, aparentemente ele está bem bacana, não tinha visto ele ainda... e o melhor,pra quem como eu não sabia, existe uma versão grátis dele, que é o Sharepoint Foundation 2010.. O arquivo é um pouco grande (169 MB), mas não é nada que seja impossível de ser baixado... O problema, pelo menos no meu caso é que ele precisa do Windows 2008 R2...

Para quem tem curiosidade, e o Windows 2008 R2 pra fazer uns testes, segue o link para o download
http://www.microsoft.com/downloads/en/details.aspx?FamilyID=49c79a8a-4612-4e7d-a0b4-3bb429b46595&displaylang=en


Até,

segunda-feira, 16 de maio de 2011

Obtendo o HTML de uma página com C#

Olá,

Hoje tive que resolver um pequeno problema... Eu precisava fazer acesso à um site, ler o seu conteúdo (no caso era uma tabela que retornava baseado numa determinada URL) usei o código abaixo para fazer a leitura da página (no caso, como exemplo, deixei http://www.uol.com.br/ ), vamos ao código...

Primeiro faço using do System.IO e System.Net, depois criei um web.request e um web.response para respectivamente, fazer a chamada e o retorno do conteudo da página web, o conteudo retornado da página fica armazenado variavel resposta, que passo para o processo que faz o tratamento no html que preciso...

using System.IO;
using System.Net;


WebRequest req = WebRequest.Create("http://www.uol.com.br/");
WebResponse res = req.GetResponse();
Stream dataStream = res.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string resposta = reader.ReadToEnd();
p_processa( resposta );
reader.Close();
res.Close();

Até,

domingo, 15 de maio de 2011

Web Service CEP Grátis

Um recurso que muitas vezes precisamos é uma base de dados de CEP, porém para muitas empresas, a compra do cadastro diretamente dos correios é inviável...


Um amigo estava navegando na internet e me passou a dica do site abaixo, eles disponibilizam um webservice que pode ser chamado da sua aplicação, segundo o site é uma base independente dos correios, que eles atualizam manualmente, ainda não utilizei em nenhum projeto, mas dei uma olhada e eles tem exemplos em várias linguagens C#, delphi, PHP, Ruby, Python, Java e outras linguagens, até para Datasul... Vale a pena dar uma olhada...


http://www.buscarcep.com.br/


Até mais,

Falando em programação...

Aproveitando que o tema do dia é estudo, quero indicar o livro "Google Android - Aprenda a criar aplicações para dispositivos móveis com o Android SDK" do Ricardo R. Lecheta

Para quem está começando ou querendo começar a programar em Android é uma ótima pedida

O livro muito bom, de fácil leitura, com vários exemplo e em português para quem tem dificuldades com leitura em inglês



Até mais,

Voltando..

Olá,

Estou voltando com as postagens, agora vou tentar postar mais...

Como não podemos nos acomodar nessa área, na próxima semana irei fazer um curso sobre o Sharepoint 2010, vou tentar postar alguma coisa durante a semana..

Aproveitando, seguem alguns links com conteúdo para programadores

Microsoft
C#, Visual Basic, .Net, ASP.NET, Windows Phone e etc
http://msdn.microsoft.com/pt-br/

Oracle
PlSql, Forms e Reports e Java
http://www.oracle.com/technetwork/index.html

Android
http://developer.android.com/index.html

Apple ( Iphone, Ipad e MacOS)
http://developer.apple.com/devcenter/ios/index.action

Até mais,