Sto provando a utilizzare PHP per connettersi a un'origine dati ODBC utilizzando l'autenticazione di Windows. Posso collegarmi perfettamente al server in SQL Server, quindi so che è in esecuzione. Quando provo ad eseguire il comandoConnessione a SQL Server tramite l'autenticazione PHP, ODBC e Windows
$link = odbc_connect("my_odbc","","");
ottengo l'errore:
"Warning: odbc_connect(): SQL error:
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]
Login failed for user ''., SQL state 28000 in SQLConnect in C:\Users..."
ho provato:
$link = odbc_connect("Driver={ODBC Driver 11 for SQL Server};
Server='my_odbc';Integrated Security=SSPI","","");
che ha restituito il messaggio:
Warning: odbc_connect(): SQL error:
[Microsoft][ODBC Driver 11 for SQL Server]
Named Pipes Provider: Could not open a connection to SQL Server [53]. , SQL state 08001 in SQLConnect in C:\Users..."
Non è sicuro cosa sto facendo di sbagliato
my_odbc
è un server SQL (2008) su una macchina diversa. Non ho privilegi di amministratore su quel database, quindi non posso cambiare nulla a tale scopo (come l'abilitazione dell'autenticazione di SQL Server).Sono in esecuzione Windows 7 e utilizzando PHP versione 5.6.12
phpinfo()
indica che ODBC supporto è abilitato così comepdo_sqlsrv
supporto
Sicurezza integrata = SSPI nella stringa di connessione indica al driver ODBC di utilizzare l'utente corrente per il processo in esecuzione. Forse user id e password specifici nella stringa di connessione. – togocoder
Sei sicuro che l'identità utilizzata dal tuo codice abbia i diritti di connessione a SQL Server? http://blogs.msdn.com/b/brian_swan/archive/2010/02/10/sql-server-driver-for-php-understanding-windows-authentication.aspx – Rory
Perché stai usando ODBC invece di usare SQL Autista nativo? per esempio. utilizzando sqlsrv_connect() - https://msdn.microsoft.com/en-us/library/cc296205%28v=sql.105%29.aspx?f=255&MSPPError=-2147217396 – Rory