Pacote FREETDS para conexão MS SQL SERVER [RESOLVIDO]

1. Pacote FREETDS para conexão MS SQL SERVER [RESOLVIDO]

Bruno Fabricio
cassiamani

(usa CentOS)

Enviado em 29/08/2014 - 15:01h

Olá pessoal, tudo bem?

Meu primeiro post neste fórum, e já vou logo pedindo a ajuda de vocês, muito bem, estou desenvolvendo um servidor web (apache, php e mysql), e tudo está em perfeitas condições, exceto uma coisa, estou precisando me conectar com o banco da microsoft, (SQL SERVER 2005) e depois de ler alguns tópicos eu descobri o uso do pacote freetds, usei o repositório yum para instalar, tudo ocorreu corretamente, inclusive usei o comando (tsql -S 192.168.1.20 -U user -P pass) e consegui me conectar, porém quando uso a função "mssql_server" no php da erro de conexão, não sei mais o que fazer, conto com a ajuda de vocês, um forte abraço.


  


2. Re: Pacote FREETDS para conexão MS SQL SERVER [RESOLVIDO]

shoujo
shoujo

(usa Slackware)

Enviado em 29/08/2014 - 15:26h

veja se os pacotes unixodbc e php5-sybase existem e estão instalados no seu sistema.

também será necessário editar as configurações do freetds colocando ip e porta, se vc já não tiver feito a configuração

veja esse site, ele ensina instalar no debian, mas pode ser util na sua distro pegar o nome dos pacotes instalados e também as configurações:
https://davejamesmiller.com/blog/connecting-php-to-microsoft-sql-server-on-linux


3. Re: Pacote FREETDS para conexão MS SQL SERVER [RESOLVIDO]

shoujo
shoujo

(usa Slackware)

Enviado em 29/08/2014 - 15:27h

qualquer coisa poste o erro que está ocorrendo ao executar a conexão com o banco de dados.


4. String de conexão.

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/08/2014 - 15:42h

cassiamani, vc está usando uma string de conexão para acessar ao banco, certo?

Pode ser aí o seu problema.

Eu tb utilizo o sql server e a minha conexão é feita através da seguinte string de conexão:

dblib:host=<hostname-ou-ip>;dbname=<nome-do-banco>;

Caso ela não funcione, posta tua string de conexão.


5. INFORMAÇÔES

Bruno Fabricio
cassiamani

(usa CentOS)

Enviado em 29/08/2014 - 16:19h

Obrigado pela atenção de vocês até agora.

abaixo coloquei alguns prints para que vocês vejam como está minha configuração:

print 1: comando "tsql -C"
http://uploaddeimagens.com.br/imagens/tsql-c-png

print 2: comando "tsql -S 192.168.1.38 -U xx -P xx", galera aqui ele conectou, é estranho não conectar no php
http://uploaddeimagens.com.br/imagens/tsql-s-u-p-png

print 3: comando "mssql_connect()" no php
http://uploaddeimagens.com.br/imagens/mssql_connect-png

print 4: unixodbc installed (pacote instalado)
http://uploaddeimagens.com.br/imagens/installedunixodbc-png

print 5: phpinfo
http://uploaddeimagens.com.br/imagens/phpinfo-png


OBS: estou usando o S.O. CentOS 6.5 i686, o pacote freetds, mssql, php55w, unixodbc estão todos instalados, o único que não consegui averiguar é o php5-sybase.



6. CONEXÃO POR COMANDO OK

Bruno Fabricio
cassiamani

(usa CentOS)

Enviado em 29/08/2014 - 16:27h

Pessoal como disse antes eu consegui conectar no banco pelo putty (tsql) segue abaixo o print, mostrando até um select dentro do banco

http://uploaddeimagens.com.br/imagens/selectfromcursoead-png


7. conexão.

Perfil removido
removido

(usa Nenhuma)

Enviado em 29/08/2014 - 17:39h

Tenta conectar com o sql desta maneira através do php:

$DBH = new PDO("dblib:host=$myServer;dbname=$myDB", $myUser, $myPass);

Caso apresente algum erro, manda o erro pra nós.


8. ERRO PDO CONNECT

Bruno Fabricio
cassiamani

(usa CentOS)

Enviado em 01/09/2014 - 14:20h

Bom segui o que você falou, e não deu certo, segue os prints abaixo:

Como ficou a linha de conexao: http://uploaddeimagens.com.br/imagens/pdo_connect-png

Como ficou a tela de erro: http://uploaddeimagens.com.br/imagens/erropdo-png


9. Re: Pacote FREETDS para conexão MS SQL SERVER [RESOLVIDO]

Bruno Fabricio
cassiamani

(usa CentOS)

Enviado em 01/09/2014 - 16:00h

Estava pensando agora, será que é porque estou usando a versão minimal? e preciso instalar o centOs dvd, que é a versão mais completa?


10. Re: Pacote FREETDS para conexão MS SQL SERVER [RESOLVIDO]

Bruno Fabricio
cassiamani

(usa CentOS)

Enviado em 04/09/2014 - 16:41h

UP


11. SOLUÇÃO

Bruno Fabricio
cassiamani

(usa CentOS)

Enviado em 19/01/2015 - 09:44h

Galera quase 5 meses após o post, e consegui resolver este problema, ahusd, depois de muita pesquisa descobri que o apache (httpd) estava bloqueando o socket de conexão, então para resolver este problemas sem complicações basta digitar o comando abaixo

# setsebool -P httpd_can_network_connect_db 1

OBS: Tudo isso feito no S.O. CentOS

VLW UM FORTE ABRAÇO A TODOS


12. Re: Pacote FREETDS para conexão MS SQL SERVER [RESOLVIDO]

Thyago Sampaio
thyagobrasileiro

(usa CentOS)

Enviado em 19/03/2015 - 11:37h


nesse caso era o SELinux que estava bloqueando.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts