0

MSSQL em Unix and Linux com FreeTDS

criado por Juliano de Oliveira Rodrigues em 28/03/2008 7:13pm
Fala ai pessoal, quebrei a cabeça pra configurar o FreeTDS em meu FreeBSD(UNIX), então resolvi a compartilha com todos vcs sobre a instalação desta importante ferramenta que abre a conexão MSSQL.
Pensamento de hoje:

Conhecimento é algo que ninguém te tira! Algo que é só seu!
Portanto junte o Maximo de conhecimento possível!
Mas deixando o momento de reflexão, vamos colocar a mão na passa.
Procure um lugar reservado pra fazer downloads, procuro me certificar em qual o diretório eu estou, por padrão procure estar dento do /root ou /home/seu_usuario_root

Vamos precisar fazer downloads:

FreeTDS (www.freetds.org)

Sempre acesso o site e pego o link pelo navegado e colo na linha de comando usando o comando abaixo para fazer o download para dentro do server :

fetch: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
quando terminar, precisamos descompactar então uso o comando:

tar zxfv nomedoarquivo.tgz
ficando assim
tar zxfv freetds-stable.tgz

PHP (www.php.net)

Mesma esquema para o php
fetch http://www.php.net/get/php-5.2.5.tar.bz2/from/br2.php.net/mirror
descompactando
tar –zxfv mirror

Neste ponto vc deve ter a pasta do freetds-0.64 e o php-5.2.5 dentro onde vc baixou.

Agora vamos configurar , copilar e instalar cada um deles.

Com o FreeTDS
Entre dentro da pasta e de o comando
./configure --with-tdsver=7.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static --prefix=/usr/local/freetds

Quando terminar de configurar vamos copilar e instalar:
make && make install

Feito isso ele deve instalar o freetds dento do /usr/local/freetds

Vamos fazer os passos com o PHP
Ente dentro da pasta do php
Cd caminho/nomed pasta

./configure --with-apxs2=/usr/local/sbin/apxs --with-mssql=/usr/local/freetds  --with-mysql --enable-libxml --with-zlib --with-bz2 --with-gd=/usr/local --with-freetype-dir=/usr/local --enable-calendar --enable-exif

Estas opções de configuração não precisa ser bem assim, essas são as necessidades que eu tenho, devem ser diferentes das suas, o que precisa ser feito é disser ao php que ele deve usar as apis do freetds como drive pra conexão com M$SQL com o comando --with-mssql=/usr/local/freetds junto com o ./configure, habilitei algumas coisas como o mssql, zlib, se der erro, vai tirando tudo e minimizando suas possibilidades de erro.

Próximo passo: Copilar e instalar o PHP.
Make && make install

Pronto tudo instalado.

Precisamos agora configurar o freetds.conf.

Dentro do /usr/local/freetds/etc tem o arquivo freetds.conf

[global]
# TDS protocol version
tds version = 8.0
port = 1433

try server login = yes
try domain login = no

dump file = /tmp/freetds.log
debug level = 10

timeout = 10;
connect timeout = 10;

[minhaconexao]
host = 192.168.10.2  //ip do server onde vc tem o SQL
port = 1433 // porta do SQL
tds version = 8.0 // Versão isso para o SQL 2000 e para o 7.0 coloca 7.0, o 2005 não sei nada sobre ele ainda.

Neste ponto tudo esta perfeitamente correto, precisamos apenas reiniciar o apache para que tenha todas as configurações aplicadas.
apachectl restart

Agora é só alegria!!! Viu como foi perfeitamente fácil fazer isso!!
Mais uma dica! Quando tiver programando em php e chamar a função que abre a conexão com o mssql, vc deve passar o caminho feito lá no freetds.conf, nome que vc colocou de minha conexão assim: [minhaconexao].

Ficando assim: mssql_connect ("minhaconexao","usuario","senha");

Aqui também vai um Script que fiz pra testar.

<?php
$conec = mssql_connect ("minhaconexaono_freeTDS","usuario","senha");
if ($conec) {
    $bco = mssql_select_db ("controladoria", $conec);
    if ($bco) {
        echo "Conectou perfeitamente no banco de dados";
    } else {
        echo "Conectou, mas o banco que vc informou não existe, certifique se ele realmente existe";
    }
} else {
    echo "Não tá funcionando não, verifique se vc colocou o nome da conexão feita no freetds, pra conectar ";
}
?>

Espero que tenha ficado muito bem explicado. Qualquer coisa entra em contato.
Neste artigo vou ensinar como instalar o FreeTDS para que assim possa usar o M$SQL em uma plataforma que seja Unix ou Linux. Passo a Passo.

Comentários:

Nenhum comentário foi enviado ainda.

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)