Trocando Placa Mãe do PC sem precisar Formatar (Reinstalar Windows)

As vezes quando trocamos a placa-mãe de um pc e o chipset ou processador são diferentes da placa-mãe original o windows retorna uma tela azul da morte com o código de erro 0x0000007b


Esse erro é se refere ao driver da controladora do HD que é diferente entre a placa original e a placa nova.

A solução pro problema é bem simples:

Usando o Hiren’s Boot CD entre no Mini Windows
Depois nas ferramentas abra o “Registry -> “Fix hard disk controller (fix_hdc.cmd)” que fica no system tray do sistema.

hiren-fixhdc-menu

Esse utilitário limpa o driver atual do sistema e instala o driver genérico de controladora de HD.

 

hiren-fixhdc-window

Aperte T para selecionar o caminho atual da instalação do Windows (c:\windows ou d:\windows).

Depois pressione M para atualizar o driver do controlador de HD

Pronto!

Só reiniciar e testar, comigo funcionou!

 

Fonte: https://www.raymond.cc/blog/move-windows-xp-hard-drive-or-change-motherboard-without-getting-blue-screen-of-death/2/

Restaurar um Backup no MySQL por linha de comando

Normalmente com Php + MySQL o comum é a utilização do phpmyadmin para restauração de dado com MySQL, o problema é que o phpmyadmin limita o tamanho do arquivo .sql que deverá ser importado. Nesse caso a restauração deve ser feita por linha de comando.

Na pasta de instalação do MySQL mais precisamente na pasta /bin existe o executável mysql.exe e podemos utilizá-lo para executar a restauração direto no prompt de comando

Linha de comando

mysql\bin\mysql.exe -u root -p minha_senha -h localhost nome_do_db < arquivo_backup.sql

O parâmetro -u especifica o nome do usuário registrado no mysql, -p especifica a senha, -h o ip ou nome do servidor, seguido pelo nome do banco e o arquivo a ser importado.

 

 

 

Um simples script para backup de Bases PostgreSQL usando linux

O script abaixo faz com que seja gerado um backup usando pg_dump de todas as bases de dados ativas no PostgreSQL, com opção de reciclagem dos backups a cada 30 dias, ou seja, o script mantem os 30 arquivos mais novos e elimina os mais antigos.

O Script precisa ser rodado com o usuário postgres, que geralmente é o usuário padrão na instalação do PostgreSQL.

Alterne para o usuario postgres
# su – postgres

Crie um arquivo .sh que será o script a ser executado
$vi backup_script.sh

Com o conteúdo baixo:

#!/bin/bash
# Location to place backups.
backup_dir="/home/postgres-backup/"
#String to append to the name of the backup files
backup_date=`date +%d-%m-%Y`
#Numbers of days you want to keep copie of your databases
number_of_days=30
databases=`/usr/local/pgsql/bin/psql -l -t | cut -d'|' -f1 | sed -e 's/ //g' -e '/^$/d'`
for i in $databases; do
  if [ "$i" != "template0" ] && [ "$i" != "template1" ]; then
    echo Dumping $i to $backup_dir$i\_$backup_date
    /urs/local/pgsql/bin/pg_dump -Fc $i > $backup_dir$i\_$backup_date
  fi
done
find $backup_dir -type f -prune -mtime +$number_of_days -exec rm -f {}

Lembre-se que o caminho para o psql e pg_dump pode mudar de acordo a distribuição e versão do PostgresSQL.

Dê a permissão de execução ao script
$chmod 700 backup_script.sh

Agora é só adicionar ao Cron para que ele possa ser agenda a execução do script.

Abrir o Cron do linux
$crontab -e

Adicionar a linha de execução do script
3 0 * * * /caminho/backup_script.sh

Um artigo bastante interessante sobre como usar o Cron do linux pode ser acessando em https://help.ubuntu.com/community/CronHowto#Crontab%20Example

 

 

 

Resolvendo o erro “warning mssql_connect() unable to connect to server” ao fazer uma conexão do PHP com MS SQL Server

Muitas gente sofre para fazer o php se conectar ao MS SQL Server, mesmo depois de adicionada a biblioteca no php.ini e  php_mssql.dll liberado no extension.

Mesmo assim a conexão parece impossível, quando são retornados erros como:

Call to undefined function mssql_connect()

warning mssql_connect() unable to connect to server

O problema ao conectar o PHP com o SQL Server ocorre geralmente nas versões mais novas do SQL Server, como a 2008 e 2008 R2

A causa do problema é uma dll desatualizada, dentro da pasta do Apache/php e no próprio Windows.

A solução é bastante simples, basta substituir a dll nas pastas:

windows/system32 

apache/bin

A dll pode ser baixada no link abaixo:

http://www.dlldll.com/ntwdblib.dll_download.html

Agora é só reiniciar o serviço do apache/php e testar!

Para copiar a dll para a pasta apache/bin o serviço deve está parado.

Um dica adicional é verificar se Named Pipes through está ativo no SQL server Configuration Manager

Um exemplo de conexão do php com SQL SERVER

$dbhandle = mssql_connect(‘nome_do_servidor\SQLEXPRESS’,’username’,’password’);

$db = mssql_select_db(‘databasename’, $dbhandle);

 

 

Mudar a senha padrão do usuário postgres no PostgresSQL

Para mudar a senha padrão, você primeiro precisa logar na base de dados com o usuário postgres

Algo do tipo, lembrando que a senha padrão é ‘postgres’ sem as aspas:

$ /opt/PostgreSQL/8.4/bin/psql -U postgres -d postgres

Password:
psql (8.4.9)
Type “help” for help.postgres=#

Agora é só mudar a senha do usuario postgres com o

postgres=# ALTER USER postgres WITH PASSWORD ‘newpasswordgoeshere’;
ALTER ROLE
postgres=#

Pronto! Senha alterada!

Listar todos os meses de um ano entre duas data em php

 

Um pequeno trecho de código que ajuda a listar todos os meses do ano entre duas data!

<?php
$startDate = strtotime("$startYear/$startMonth/01");
$endDate   = strtotime("$endYear/$endMonth/01");

$currentDate = $endDate;

while ($currentDate >= $startDate) {
    echo date('Y/m',$currentDate);
    $currentDate = strtotime( date('Y/m/01/',$currentDate).' -1 month');
}

fonte:http://stackoverflow.com/questions/1449167/list-of-all-months-and-year-between-two-dates-in-php

Somar valores em uma data específica com MySQL

GROUP especifica um método bastante simples de agrupar valores com MySQL e outros gerenciadores de banco de dados, no exemplo a seguir é demonstrado como somar os valores de várias linhas de uma tabela, em uma data específica:

SELECT SUM(total) as total, data FROM venda WHERE MONTH(data_venda) = 12 GROUP BY data

A query acima soma todos os valores de todas as linhas da coluna total quando o Mês for 12, usando a função MONTH() do MySQL, e agrupa pelas datas iguais.

As funções DAY() e YEAR() também podem ser usadas com o mesmo propósito.

Na necessidade de se saber o total em um respectivo mês, por exemplo, a query a seguir por ser uma boa solução:

SELECT SUM(total) as total FROM venda WHERE MONTH(data_venda) = 12

em um ano específico:

SELECT SUM(total) as total FROM venda WHERE YEAR(data_venda) = 2013

fonte: http://www.vbmania.com.br/pages/?varModulo=Forum&varMethod=abrir&varID=362818

 

Gerando logs com CodeIgniter php

Gerar log de erros é um fator essencial quando estamos desenvolvendo uma aplicação, além de ser bastante útil para o monitoramento quando a aplicação já está em produção. Com CodeIgniter o processo é bastante simples:

Ative a geração de log no config.php no item: Error Logging Threshold

$config[‘log_threshold’] = 4;

4 para ativar todos os tipos de mensagens

A pasta padrão onde o log será armazenado é system/logs/, no entanto essa pasta pode ser alterada na variável:

$config[‘log_path’] = ”;

Alguns logs são gerados automaticamente pelo sistema, mas isso não impede você de gerar logs próprios, como registrar o valor de uma variável sempre que ela aparecer, por exemplo. Abaixo alguns exemplos de tipo de log com seus respectivos níveis que podem ser gerados manualmente:

log_message(‘error’, ‘Mensagem para o log de erro.’);

log_message(‘debug’, ‘Mensagem para o log de debug’);

log_message(‘info’, ‘Mensagem para o log de informação.’);

 

Remote Procedure Call na instalação do BBPAG ou BBCOB do banco do brasil

Ao instalar o BBPAG ou BBCOB do banco do brasil o erro REMOTE PROCEDURE CALL pode aparecer em alguns computadores com Windows  7 ou Windows 8, a resolução do problema é bastante simples, como descrito a seguir:

Acesse a pasta C:\Users\usuário de instalação\AppData\Local\Temp;

Selecione todos os arquivos e delete todos, caso de algum arquivo que não de para excluir não tem problema;

Após efetuado esse procedimento, acesse a pasta C:\Program Files\Common Files e delete a pasta InstallShield;

Reinicie o computador e tente reinstalar novamente como administrador (Clique com o botão direito encima do arquivo e clique em Executar como Administrador.

 

 

 

 

Recuperando banco de dados MDB corrompidos

Muitas pessoas passam por esse mesmo problema, um dia ou outro um arquivo MDB vai corromper com você também!

Muitos programas das Receita Federal usam o MDB como solução de armazenamento de dados, o problema é que o MDB que é o padrão Microsoft Access  de armazenando é muito vulnerável e pode se corromper a qualquer momento, ocasionando na perda dos dados.

Erros como o da imagem baixo são frequentes:

Não foi possível reparar o Banco de Dados!
Erro numero: 3015

.mdb isn’t an indes in this table. Look in the Indexes collection of the TableDef object to determine the valid index names.

error 3015

No entanto você pode usar o próprio MS Access para efetuar o reparo do MDB, usando a linha de comando a seguir:

“C:\Program Files\Microsoft Office\Office12\MSACCESS.EXE” “D:\TEMP\_PERDCOMP51\_PERDCOMP51\perdcomp51.mdb”  /WRKGRP “D:\TEMP\_PERDCOMP51\_PERDCOMP51\perdcomp51.mdw” /repair

Lembrando que o caminho pode ser diferente de acordo com a versão do Windows e versão do Office instalado.

Mais opções de comandos com o MS Access você encontra em http://support.microsoft.com/kb/209207