Desbloquear anexos no Outlook

Para desbloquear arquivos .exe, .mdb, .bat, etc… que vêm anexo às mensagens do Microsoft OutLook (XP/2003) faça o seguinte:

  • Adicione um novo valor da seqüência à chave [HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\Outlook\Security].
  • Dê o nome de Level1Remove a novo valor.
  • Adicione as extensões que você quer que sejam desbloqueadas pelo OutLook separadas por ; (ponto e vírgula), exemplo: exe; bat; mdb


Posted in Artigos. Tags: . Comentários desativados »

fsCash – Capítulo 01: Introdução

Eu sempre fui um cara muito chato com relação às minhas coisas, gosto de ter tudo muito catalogado e organizado (minha mulher que o diga). Com minhas finanças (quem lê pensa que é muita) não poderia ser diferente, por isso sempre tive um programinha para isso.

Na época que trabalhava com Clipper eu fiz um aplicativo com base em DBFs, telinhas bem pobres mas que dava conta do recado. Quando comecei a trabalhar com vb6 migrei a base para o Microsoft Access e fiz, junto com o Luciano Nascimento, um novo programa. Foi uma festa, tinha interface gráfica, botõeszihos coloridos, navegação em grid e era multi-tarefa… cara, pros mais novinhos que já nasceram em berço Windows e não viveram os gloriosos dias do DOS, a idéia de poder visualizar a lista de clientes e a lista de contas a pagar ao mesmo tempo era algo perto de sobre-natural. Utilizei-o até o advento do Microsoft .Net quando novamente re-fiz, desta vez com a ajuda do William da Motta, meu pequeno Fluxo de Caixa, agora utilizando base de dados MSDE e telinhas ainda mais agradáveis. Os maiores avanços foram internos com o uso de herança nas classes, geração de telas e relatórios em tempo de execução e procedures direto na base de dados, etc.

Bom galera, há pelo menos 4 anos eu estou querendo criar um novo aplicativo para administrar minhas finanças pessoais e não consigo. Falta de tempo, ausência de tempo e tempo escasso tem sido os motivos principais. Por isso que, seguindo a dica do Joseph (que logo irá inaugurar uma série de posts aqui no blog), resolvi iniciar essa série. Desta forma, havendo o comprometimento com o blog eu devo me esforçar mais para conseguir concluí-lo e terei não apenas o programa para meu uso pessoal como todo o desenvolvimento do mesmo devidamente documentado.
A idéia é simples; vamos explorar a criação de um simples e eficaz controle financeiro desde a concepção da base de dados até a geração do setup. A cada post vamos exemplificando e explicando, deixando sempre disponível os fontes abertos e atualizados. Com isso, os mais experientes poderão colaborar com idéias e sugestões e os menos experientes poderão se beneficiar desse passo-a-passo.

Fiquem atentos ao próximo post para o início dessa empreitada.

Posted in webCash. Tags: . Nenhum Comentário »

Alterar idioma (language) do SQL Server

Muitas vezes me questionam sobre como proceder com consultas envolvendo campos data. Bem, em linhas gerais podemos dizer que, fazendo a consulta utilizando o padrão ‘yyyy-mm-dd’ ou ‘yyyymmdd’ ( sendo [y]ear, [m]onth, [d]ay, respectivamente ) não teremos problemas.

SELECT
Codigo, Descricao, DataCadastro
FROM Clientes
WHERE
DataCadastro = ’2007-10-07′

Bem, não é bem assim, para que a sintaxe acima funcione, o servidor (e usuário logado) precisa estar utilizando o idioma inglês. Agora, e se o servidor tiver sido instalado com idioma em português, ou ainda, uma aplicação que antes funcionava pois estava em um servidor cujo idioma era inglês e fora restaurado num servidor cujo idioma seja português. Para esses casos precisaríamos de uma instrução para alterar o idioma, o script abaixo faria o serviço.

– EXIBIR A ATUAL CONFIGURACAO DE IDIOMA
SELECT @@language,  @@langid– DEFINIR O IDIOMA DEFAULT PARA O SERVIDOR
EXEC sp_configure ‘default language’, 0

– DEFINIR O IDIOMA PARA CADA LOGIN DO SERVIDOR
EXEC sp_defaultlanguage ‘sa’,  ‘us_english’
– EXEC sp_defaultlanguage ‘NomeUsuario’, ‘us_english’
– EXEC sp_defaultlanguage ‘Maquina\Usuario’, ‘us_english’

– COMANDO PARA RECONFIGURAR ALTERACOES FEITAS
RECONFIGURE

– APOS ISSO SERA PRECISO DAR UM STOP e START NO SQL SERVER

até a próxima.

Posted in Artigos. Tags: . Nenhum Comentário »

Transformar array de valores em tabela

Muitas vezes, me deparo com o problema de ter uma lista de valores (contida numa string, por exemplo) e querer utilizá-la como registros de uma tabela, talvez para fazer join com alguma outra tabela ou coisa assim. Se essa necessidade ocorrer dentro de uma PROC, poderíamos criar uma tabela temporária, abastecê-la com os registros desejados, fazer uso da forma que desejarmos e depois apagá-la. Já numa VIEW não temos como criar objetos, apenas os consultamos, ou numa rotina dentro de um programa, as limitações seriam semelhantes.

Foi pensando nisso que eu dei uma estudada e cheguei no script abaixo. Ele cria na base de dados uma FUNCTION que recebe por parâmetro uma string contendo a lista de valores e outro contendo o caractere usado como separador na lista e retorna uma tabela com uma coluna e os diversos valores em forma de registros. Vamos ao script:

CREATE FUNCTION dbo.GetTableFromString
(
@Valores VarChar(4000),
@Separador Char(1)
)
RETURNS @Retorno TABLE( Valor VarChar(256) )
BEGIN

DECLARE @PosIni INT, @PosFim INTSELECT
@PosIni = 1,
@PosFim = CharIndex(@Separador, @Valores)

WHILE @PosIni < Len(@Valores) + 1 BEGIN
IF @PosFim = 0 BEGIN
SET @PosFim = Len(@Valores) + 1
END
INSERT INTO @Retorno (Valor)
VALUES( SUBSTRING(@Valores, @PosIni, @PosFim – @PosIni) )
SET @PosIni = @PosFim + 1
SET @PosFim = CharIndex(@Separador, @Valores, @PosIni)
END

RETURN

END

Supondo que temos a seguinte lista: ‘azul|verde|branco|preto’, podemos ver que os valores são separados pelo caractere: ‘|’ ou seja, faríamos a chamada da função da seguinte forma:

SELECT * FROM dbo.GetTableFromString(‘azul|verde|branco|preto’, ‘|’)

E o retorno seria:

Valor
——————-
azul
verde
branco
preto(6 row(s) affected)

po-po-por hoje é só pe-pe-pessoal… até a próxima

Posted in Artigos. Tags: . Nenhum Comentário »

Mudar senha do SA

Ao longo dos anos (sim, esse que vos escreve tem algum tempo envolvido com o mundo do desenvolvimento), tenho acumulado em minha maquina muitos PDFs de dicas e tutoriais sobre uma ou outra tarefa que tive de pesquisar na web para conseguir executar e, para não ter de sair pesquisando tudo de novo (visto que minha memória é RAM, desligou apaga), costumo guardar tudo. Vamos aproveitar esse espaço aqui no blog do SQL Lite para divulgar essas dicas tanto de uso do programa como principalmente da linguagem T-SQL em geral.
Para começar, um assunto que me questionam ao menos uma vez por mês:
_ Instalei meu SQL Server e não defini uma senha para o usuário SA, tem como definir depois de instalado ?
Ou então:
_ Descobriram a senha do SA de meu servidor, como faço para alterá-la ?
Bem gente, alterar essa senha é fácil, basta executar a instrução abaixo que, aliás, é a mesma para alterar senha de qualquer usuário:

EXEC sp_password @old=’SenhaAntiga’, @new=’SenhaNova’, @loginame=’sa’

Até a próxima.

Posted in Artigos. Tags: . Nenhum Comentário »

Alterar owner de tabelas, consultas, procedures, etc

Outra dúvida comum é:
“Rodei um script logado na base com determinado usário, e o script não especificava o owner (dbo, por exemplo). Agora os demais usuários para poderem se referenciar ao objeto criado, precisam especificar meu usuário na frente do nome do objeto.”

Típico, o camarada está logado como JOAO na base de dados e roda um CREATE TABLE Clientes. A partir daí, as consultas à tabela precisam ser feitas especificando o usuário proprietário do objeto (owner), algo como: SELECT * FROM JOAO.Clientes.

Agora, se o João tivesse rodado a querie: CREATE TABLE dbo.Clientes, os demais usuários poderiam se referenciar à tabela simplesmente pelo nome da mesma: SELECT * FROM Clientes.

Mas agora é tarde, o objeto já fora criado, como podemos alterar o proprietário do objeto ? A querie abaixo resolve o problema:

EXEC sp_changeobjectowner ‘Joao.Clientes’, ‘dbo’

Lembrando que isso serve para Tables, Views, Procedures, Functions, etc.

Editado:

Conforme solicitado, abaixo uma dica de como proceder para executar o processo para diversos objetos de uma única vez. Primeiramente vamos montar uma querie para listar todos os objetos.

SELECT
[Name], xType,
convert(sysname,USER_NAME(uid)) As [Owner]
FROM sysObjects

Dessa forma teríamos uma lista de todos os objetos, isso inclui TABLEs, VIEWs, PROCs, até mesmo TIGGERs, PKs, etc. Se quisermos filtrar apenas algum(ns) tipo(s) de objeto(s) precisamos incluir condições where na query acima, por exemplo; xType=’U', traria apenas User Tables (tabelas que não sejam de sistema), xType=’V’ apenas views, xType=’P’ apenas procedures, e assim por diante.
Uma vez listado os objetos desejados, vamos filtrar apenas aqueles cujo owner seja diferente de dbo e acrescentar o retorno de uma coluna que irá trazer, para cada objeto, a instrução montada para ser executada.

SELECT
[Name], xType,
‘EXEC sp_changeobjectowner ”’ + [Owner] + ‘.’ + [Name] + ”’, ”’ + ‘dbo’ + ”” As Instrucao
FROM
(
SELECT
[Name], xType,
convert(sysname,USER_NAME(uid)) As [Owner]
FROM sysObjects
) As Sub
WHERE
[Owner] <> ‘dbo’

O retorno dessa querie, devemos exportar para um TXT (da forma que achar mais prático), copiar e colar (apenas a coluna instrucao) de volta em uma outra janela do SQL Lite (ou a ferramenta que estiver usando) e executar.

Espero ter ajudado. Qualquer dúvida ou sugestão, comentem.

Posted in Artigos. Tags: . Nenhum Comentário »

Administrando a Manutenção de seu Carro

O Car Manager, é um gerenciador de gastos e média de consumo para o seu veículo. Nele você poderá cadastrar todos os seus abastecimentos e trocas de óleo. Por ser um sistema Mobile, desenvolvido para Smartphone, você poderá cadastrar o seu abastecimento ou troca de óleo, enquanto ainda estiver no posto.

Em sua tela inicial, você terá médias de consumo total, último abastecimento ou uma média configurável, como por exemplo no último mês, últimos 3 meses, último ano, etc. Ainda na tela inicial, você terá uma previsão de próximo abastecimento e próxima troca de óleo.

Este aplicativo de controle, foi desenvolvido para Smartphone com Windows Mobile 2003 SE, mas também pode ser executado em outras versões.

Car Manager: Como usar

O Car Manager é um sistema de simples manuseio e entendimento, vou exemplificar aqui como utilizá-lo e o por que do comportamento dele em algumas situações.
Antes de começarmos, gostaria de explicar o por que as screenshots apresentam o Car Manager em Inglês. O Car Manager foi desenvolvido para trabalhar em Português, se o seu Smartphone, estiver configurado para este idioma ou em inglês, caso esteja utilizando outro idioma. Como o emulador de Smartphone é em inglês, o Car Manager, automaticamente passou a trabalhar no idioma Inglês.
Após abrir o Car Manager, você, notará vários campos em sua tela principal, com média geral, última média, média configurada (esta média ensinarei mais abaixo como configurá-la), próximo abastecimento (data e km) e próxima troca de óleo (também data e km).
Abastecimento:
Para cadastrar um abastecimento, basta clicar no menu “Novo Abast.” ou “New” (Windows em inglês). Nesta tela você terá que preencher alguns campos, como a quilometragem atual e a quantidade e litros que você abasteceu. O Car Manager, já possui cadastro para carros Flex, você pode cadastrar Gasolina, Álcool ou ambos. Você pode preencher também o valor litro pago, para futuras médias de gastos em $$$$. Após a digitação basta clicar em Salvar, ou Voltar caso não queira armazenar estas informações.

O Car Manager, só calculará médias após o segundo abastecimento, pois ele não tem como calcular médias sem as quilometragens e litros devidamente cadastrados.

No terceiro abastecimento, você notará algumas diferenças, como por exemplo, a quilometragematual estará preenchida com uma média calculada, com os últimos dígitos selecionados, de possíveis margens de erros, por abastecimentoantecipado ou ter rodado em um caminho diferente que resultou em um menor consumo e os últimos valores usados virão como sugestão para você
Troca de Óleo:
Para uma troca de óleo, basta clicar no Menu “Opções” e clicar em “Troca de Óleo” ou “Oil Change”. Nesta tela basta colocar a quilometragem atual, tipo de óleo utilizado (para 5.000, 10.000 ou 15.000 km) e indicar se trocou os filtros ou não. Caso não tenha realizado a troca dos Filtros, na próxima troca ele notificará que não foram trocados anteriormente. Assim que salvar a sua troca de óleo, na tela principal o Car Manager lhe mostrará quando será a próxima troca de óleo em km e uma data calculada em sua média de km/dia.
Configurações:
O Car Manager já possui uma configuração básica após sua instalação, mas você poderá editá-la como quiser. Clicando em “Opções” e em seguida em “Configurações” ou “Configurations”, será exibida a tela. Nesta tela você poderá configurar a sua média configurável, em dias, meses ou anos. Para isso basta digitar a quantidade desejada e na caixa de seleção ao lado escolher o intervalo, por exemplo, 1 Mês (último mês), 3 Mês (Último Trimestre), 1 Ano (Últimos 12 meses), etc.
Nesta tela você poderá configurar também o alerta para a troca de óleo, este alerta trata-se de uma mensagem exibida na parte inferior da tela principal, indicando que a troca de óleo está próxima. Por padrão esta mensagem será exibida a partir de 15 dias antes da troca de óleo.
Esta foi uma simples explicação de como você pode cadastrar e estar sempre atualizado com o consumo e trócas de óleo do seu carro.
Caso tenha alguma crítica ou sugestão sobre o Car Manager, mande para nós, queremos que o Car Manager tenha o seu estilo e seja sua ferramenta para estar em dia com o seu carro.

Car Manager: Bem vindo

Nós da Friendship Solutions temos o prazer em apresentar o mais novo membro da família, Car Manager, nosso primeiro sistema Smartphone, feito para ter um melhor controle de seus gastos com o Carro, além da praticidade de um programa mobile.

Baixe agora mesmo e experimente a sensação de ter cálculos de médias e alertas de próxima troca de óleo e combustível em seu celular.

SQL Lite: A sua IDE para MSDE

Um gerenciador gratuito para banco de dados SQL Server, MSDE/Express e Microsoft Access. Voce poderá criar, excluir e alterar tabelas e campos, definir chaves, tipos de dados e muito mais. De forma gráfica sem necessidade de conhecimento da linguagem T-SQL.

Agora, se voce possui conhecimento da linguagem, poderá fazer consultas digitando livremente os comandos e executar as instruções que desejar como Views, Procedures, Triggers, Functions, etc. Tudo isso em um editor que colore automaticamente as palavras reservadas, distinguindo comandos de funções e variáveis, assim a leitura dos scripts se torna muito mais dinâmica.

Posted in SQLLite. Tags: . Nenhum Comentário »