Ciao, scusami se ripristino questa vecchia discussione, ma sto ancora cercando di configurare un php per la connessione con SQL Server, questa è la configurazione.
Server windows:
è installato Sql Express 2008 r2
Server linux
è installato ubuntu 16 con php 7
questo è lo script che utilizzo per la connesione
codice:
$serverName = 'NOME_SERVER\ISTANZASQL';
$connectionOptions = array(
"Database" => 'nome_db',
"Uid" => 'username',
"PWD" => 'password');
$conn = sqlsrv_connect($serverName, $connectionOptions);
if($conn===FALSE)
print_r(sqlsrv_errors());exit;
e questo è l'errore che ricevo
codice:
Error information:
SQLSTATE: HYT00
Code: 0
Message: [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]Login timeout expired
SQLSTATE: 08001
Code: 10057
Message: [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]TCP Provider: Error code 0x2749
SQLSTATE: 08001
Code: 10057
Message: [unixODBC][Microsoft][ODBC Driver 13 for SQL Server]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.
I due computer si trovano sulla stessa rete, riesco a pingare entrambi, quindi si vedono. Chi ha configurato la rete mi ha detto che non ci sono limitazioni a livello di router o di firewall, tutti i pacchetti possono transitare, chi ha configurato il server windows con su SQL mi dice che devo collegarmi senza utilizzare una porta, ma semplicemente con il nome del server\istanza. Questo non avviene, non riesco a collegarmi proprio, l'errore che ricevo è quello sopra. Ho provato a fare un mapping delle porte (tramite ubuntu) sull'ip di windows e non vedo una porta aperta con il servizio ms-sql-s, come se quel servizio non è in ascolto.
Ho provato da riga di comando a lanciare tsql -S IP -U username, quello che ricevo è questo
codice:
locale is "it_IT.UTF-8"
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20009 (severity 9):
Unable to connect: Adaptive Server is unavailable or does not exist
OS error 111, "Connection refused"
There was a problem connecting to the server
Secondo voi, il problema è di windows/sql express che rifiuta la connessione (di un firewall o altro), oppure è un'errata configurazione che ho fatto io? secondo il mio punto di vista, il problema è su windows. Avete in mente prove che posso fare? considerate che sulla macchina windows non posso installare nulla
grazie.