Acessando base de dados MSSQL Server em Servidor Linux
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
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:
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
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
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?
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");
assim:
mssql_connect("mssqlconnection","user","senha");
03/07/2002 6:04am
(~22 anos atrás)
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