Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Boa tarde pessoal, tudo bem?
Estou com uma certa dificuldade em conectar ao servidor de banco de dados Sql Server.
Podem me dar uma força?
O servidor esta correto.
Já tentei várias instancias (sqlexpress, SVDCBD01..).
O usuário existe e conecta ao servidor.
O servidor permite conexão remota.
Código:
<?php
echo '<pre>';
$serverName = "192.168.0.11\SVDCBD01";
$connectionInfo = array( "Database"=>"CorporeRM", "UID"=>"****", "PWD"=>"****");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
?>
Erro:
Array
(
[0] => Array
(
[0] => 08001
[sqlSTATE] => 08001
[1] => -1
[code] => -1
[2] => [Microsoft][sql Server Native Client 10.0]SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].
[message] => [Microsoft][sql Server Native Client 10.0]SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF].
)
[1] => Array
(
[0] => HYT00
[sqlSTATE] => HYT00
[1] => 0
[code] => 0
[2] => [Microsoft][sql Server Native Client 10.0]Login timeout expired
[message] => [Microsoft][sql Server Native Client 10.0]Login timeout expired
)
[2] => Array
(
[0] => 08001
[sqlSTATE] => 08001
[1] => -1
[code] => -1
[2] => [Microsoft][sql Server Native Client 10.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.
[message] => [Microsoft][sql Server Native Client 10.0]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.
)
)verifique se o mssql n esta bloqueando conexões externas, ou ainda se ofirewall n esta barraando ele.
A minha versão do PHP não vem com o mssql_connect. Baixei esse driver da microsoft (http://php.net/manual/en/function.sqlsrv-connect.php)
S:\>php -v
PHP 5.3.14 (cli) (built: Jun 13 2012 18:20:39)
This extension is not available anymore on Windows with PHP 5.3 or later.
(http://www.php.net/manual/en/intro.mssql.php)
A rede está ok, nenhum firewall bloqueando a conexão (o netstat exibiu que existe conexão com o servidor).
Se ajudar: Estou utilizando IIS6 no Windows Server 2003 (não posso usar linux e nem o Apache).
você esta usanado o mssql ou pdo?.
cara o pdo pra fazer a conexão q é melhor, faz um teste ai.
acredito q você ja tentou deixar somente o ip na conexão.
>
você esta usanado o mssql ou pdo?.
cara o pdo pra fazer a conexão q é melhor, faz um teste ai.
acredito q você ja tentou deixar somente o ip na conexão.
Isso mesmo!
Na documentação do PHP não tinha essa opção, por isso nem veio a minha cabeça.
Já informei-os para alterar a documentação.
Agora está Ok.
No projeto irei utilizar PDO.
Muito obrigado todos, qualquer coisa estarei a disposição.
Código:
$serverName = "192.168.0.11";
$connectionInfo = array( "Database"=>"CorporeRM", "UID"=>"*****", "PWD"=>"*****");
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo "Connection established.<br />";
}else{
echo "Connection could not be established.<br />";
die( print_r( sqlsrv_errors(), true));
}
e a 1 vez que tenta conexão com sql server ? se for altera o seu php.ini
>
;extension=php_mssql.dll
deixe assim
>
extension=php_mssql.dll
ja tenteou usar
mssql_connect