-1

Acessando base de dados MSSQL Server em Servidor Linux

criado por Dark_Tranquility em 30/06/2002 11:40am
Para acessar um banco de dados SQL Server apartir de um servidor Linux você vai precisar de um programa chamado FreeTDS, que pode ser encontrado em
http://www.freetds.org

- Passo 1:

Configure o SQL Server no Servidor NT para autenticar por usuário do SQL e não por autenticação do Windows.

- Passo 2:

Instalando o FreeTDS

$ tar -xzvf freetds-xxx.tgz
$ cd freetds-xxx/
$ ./configure --prefix=/usr/local/ftds --with-tdsver=4.2 --enable-dbmfix
$ make && make install

Edite o arquivo ld.so.conf localizado no diretório /etc/ e adicione a linha: add /usr/local/ftds/lib

Execute ldconfig (localizado em /sbin/ldconfig)

- Passo 3

Instale e configure o Apache.

Descompacte o php e edite o arquivo: php-xxx/ext/sybase/config.m4
e substitua onde encontrar 'dbopen' por 'tdsdbopen'.

Edite o arquivo: php-xxx/configure
troque a linha: #define PHP_SYBASE_DBOPEN dbopen
por: #define PHP_SYBASE_DBOPEN tdsdbopen

Rode:

$ ./configure [opções pessoais] --with-mssql=/usr/local/ftds --with-sybase=/usr/local/ftds
$ make && make install
$ cp php.ini-dist /usr/local/lib/php.ini

Edite o arquivo /usr/local/lib/php.ini e procure por "sybase.interface_file" descomente-o e troque seu valor para "/usr/local/ftds/interfaces"

Edite o arquivo /usr/local/ftds/interfaces e adicione o seguinte:
mssqlconnection
query tcp tds4.2 IP_DO_SERVIDOR_NT 1433

Pronto. Agora quando você for colocar o endereço IP do servidor no comando mssql_connect, como o exemplo abaixo:

mssql_connect("mssqlconnection", $usuario, $senha);

Até Logo.
Dark_Tranquility

Comentários:

Mostrando 1 - 3 de 3 comentários
Prof. Baco disse:
Oi galera que pensa em usar o SQL Server direto...

HEHEHEHE

Tem um jeito bem mais fácil do que fazer tudo disto. Basta instalar o pacote do php4 para a conexão, tipo

1 - Baixar o sybase do PHP4
apt-get install php4-sybase

2 - Restartar o Apache e pronto

A sua conexáo com o SQL Server está configura, assim vc pode fazer:
hostname = "IP_DO_SERVIDOR";
$username = "usuário";
$password = "senha";
$dbName = "MeuBD";

MSSQL_CONNECT($hostname,$username,$password) or DIE("Não foi possível estabelecer conexão!");
mssql_select_db($dbName) or DIE("O Banco de Dados selecionado não foi encontrado!");

Pronto... espero ter ajudado pois é melhor q instalar outras bibliotecas...

:D
22/01/2007 5:09am (~18 anos atrás)

Eu já tinha o apache 2.0 instalado e o PHP.
Uso o MS SQL SERVER 2003.

Dei um Wget no FREETDS e o baixei na pasta /etc

EXECUTEI OS COMANDOS

# tar -xzvf freetds-current.tgz
# cd freetds*
# ./configure --with-tdsver=7.0 --enable-msdblib --enable-dbmfix --with-gnu-ld --enable-shared --enable-static --prefix=/usr/local/freetds
# make && make install


Logo após disto fiz um código em PHP e enviei para o apache:

Só que quando abro a página aparece tudo em branco (nenhum erro) só a página em branco.

Será que meu código php está errado ou ainda tem algo de errado com o FREETDS e o PHP?
04/12/2006 11:16am (~18 anos atrás)

você está conectando com o alias ao invés do ip do servidor?
assim:

mssql_connect("mssqlconnection","user","senha");
03/07/2002 6:04am (~22 anos atrás)

Novo Comentário:

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