Conexão PHP com SQL Server (2012)
03/07/2018
0
Trabalho numa empresa de grande porte e estou com um problemão.
Tenho uma aplicação em PHP que já é estruturada, se conecta a um banco Mysql, sem problema nenhum, através de um arquivo config.php que fiz.
Agora tem uma conexão que preciso fazer para outra parte que preciso me conectar a um banco que está em um SQL Server 2012. Porém já tentei de tudo para me conectar ao banco e não consigo.
Vi vários artigos para se conectar com odbc, sqlsrv, pdo, mas nada me ajudou.
Vi também que preciso copiar extensões para o servidor bem como inserir as linhas das extensões no php.ini.
Alguém já passou por isso e poderia me auxiliar ?
Esse php.ini é o servidor da minha aplicação (Onde subo os arquivos FTP) ? ou o servidor do sql server ?
Obrigado
Eduardo Piassi
Post mais votado
04/07/2018
Ja fiz algo relacionado a isso, onde eu precisava conectar a um banco MSSQL.
no meu caso, eu fiz usando PDO.
primeiro, baixa o driver de conexão no site da microsoft
depois, copie a dll para a pasta ext da instalação do php.
depois habilita a extenção no php.ini
extension=php_pdo_sqlsrv.dll ( nome do arquivo que você copiou pra pasta ext)
depois, verifica no phpinfo se aparece enabled no pdo_sqlsrv
pronto, o servidor ja está configurado, agora, basta usar a conexão
para usar na aplicação, segue o exemplo:
define('DB_HOST' , "#ipdoservidor"); define('DB_USER' , "#usuariodoservidor"); define('DB_PASSWORD' , "#senhadoservidor"); define('DB_NAME' , "#nomedobanco"); define('DB_DRIVER' , "sqlsrv"); //deixa o driver como está, pois já está definido para sqlsrv $cfg = DB_DRIVER . ":". "Server=" . DB_HOST . ";"; $cfg .= "Database=".DB_NAME.";"; $conn = new PDO($cfg, DB_USER, DB_PASSWORD); //não alterar $conn ->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); //não alterar //daqui pra baixo é exemplo de query $query = $conn ->query("SELECT nome from usuarios"); $usuarios = $query->fetchAll();
Filon Segundo
Mais Posts
03/07/2018
Eduardo Piassi
odbc
ODBC Support enabled
Active Persistent Links 0
Active Links 0
ODBC library Win32
Directive Local Value Master Value
odbc.allow_persistent On On
odbc.check_persistent On On
odbc.default_cursortype Static cursor Static cursor
odbc.default_db no value no value
odbc.default_pw no value no value
odbc.default_user no value no value
odbc.defaultbinmode return as is return as is
odbc.defaultlrl return up to 4096 bytes return up to 4096 bytes
odbc.max_links Unlimited Unlimited
odbc.max_persistent Unlimited Unlimited
04/07/2018
Filon Segundo
da uma olhada aqui
http://php.net/manual/en/ref.pdo-dblib.php
04/07/2018
Eduardo Piassi
05/07/2018
Eduardo Piassi
Obrigado
05/07/2018
Filon Segundo
primeiro, verifique no phpinfo se threadsafe é true ou false.
depois disso, baixe o relativo a sua versão
Versão 4.0 suporta PHP 7.0+
Versão 3.2 suporta PHP 5.6, 5.5, e 5.4
Versão 3.1 suporta PHP 5.5 e 5.4
Versão 3.0 suporta PHP 5.4
pessoalmente , recomendaria você a atualizar o php do seu servidor para no minimo o 5.6, mas caso não seja possivel creio que a versão 3.0 funcionará.
baixando o arquivo SQLSRV30, dentro dele terá duas dlls uma com final ts, e outra com nts ou sem o final ts.
se seu php for threadsafe use a versão com ts no final, caso contrário, use a outra versão
05/07/2018
Eduardo Piassi
Quanto a atualizar, eu nao tenho acesso para isso, pois o servidor fica no CPD da empresa e tenho que ficar abrindo chamado para os analistas atenderem com as alterações e eles não vão atualizar.
Vou mandar o final 30 então para eles subirem a extensão e pedir para incluirem as linhas no php.ini
Valeu, abraço
Clique aqui para fazer login e interagir na Comunidade :)