Newsgroup: it.comp.www.php
Titolo: Connessione a MSSQL 2005

Come mai il mio PHP5 non riesce a connettersi a SQL Server 2005?
Premetto che:
* php5 è configurato per usare l'estensione mssql
* php5 riesce a connettersi a SQL Server 2000
* il database SQL Server 2005 è accessibile da una mia applicazione VB
quindi, alla fine, perchè PHP5 non mi lascia connettere all'SQL Server
2005?
Thanx in anticipo a tutti!

Darkbyte [Google] ha scritto:

Che errore restituisce quando tenti la connessione?
Hai letto i commenti inseriti nel manuale?
http://www.php.net/mssql
-- 
Vuoi distribuire il tuo sito web su CD/DVD?
Prova 
http://www.dwebpro.com/
Vuoi diventare un esperto analista PHP/MySQL?
Vieni a fare uno stage con noi: 
http://www.creativepark.it/stage/

 Hai letto i commenti inseriti nel manuale?
http://www.php.net/mssql
Allora, sono riuscito a far funzionare tutto copiando la libreria
ntwdblib.dll in apache/bin.
Non chiedermi perchè, era un'operazione che avevo fatto tempo addietro
sul mio pc in ufficio e rifacendola sul server aziendale ha
funzionato.
Mah...

 Mah...
P.S.: Mi rendo conto che è una risposta poco ortodossa.
Però ricordo che c'era proprio un problema con questa libreria. Ho
dovuto controllare la configurazione del mio pc per replicarla sul
server.
Se può essere d'aiuto agli altri...




Perche' l'estensione SQL Server di PHP ha bisogno di quella libreria, e la
DOVREBBE cercare nella dir delle estensioni. Se non c'e', o se Windows non
ha il library-path configurato standard (magari hai installato .NET 2.0 od
altre macumbe) non la trova.
A quel punto la libreria viene cercata:
	- se esiste il file apache.exe.local accanto ad apache.exe, nella
	  stessa directory di apache.exe
	- poi (a volte) comunque sempre nella stessa dir di apache.exe
	- poi nella directory degli shared files, COMMON-nonricordo;
	- poi in SYSTEM/SYSTEM32, mi pare la seconda.
Se e' una libreria Microsoft e' meglio metterla in SYSTEM32, a meno che ci
sia gia' (in quel caso benvenuto nel DLL Hell), altrimenti - come hai gia'
visto - va messa prima nel percorso di ricerca.
Istruzioni su come scoprire il percorso in genere e in casi specifici, qui
su ICWP, googlando per "DEPENDS", "FILEMON" e "SYSINTERNALS".
Leonardo
--
The stars have not dealt me the worst they could do:
My pleasures are plenty - my troubles are two.
But oh!, my two troubles, they reave me of rest:

 altre macumbe) non la trova.
E perchè, sempre da php, riesco a connettermi a SQL Server 2000?
Cioè il problema me lo dà solo con SQL Server 2005...

Cioè il problema me lo dà solo con SQL Server 2005...
Se tanto mi da' tanto, SQL Server 2000 e 2005 usano DLL diverse.
http://www.userscape.com/helpdesk/index.php?pg=kb.page&id=13
Inoltre:
---- dal manuale ----
Microsoft SQL Server 2005 and Vista.
The following steps enabled MSSQL 2005 support on Vista Home Premium.
(native drivers, not ODBC which works out-of-the-box)
1) Place ntwdblib.dll in C:\Windows\System32
2) Place php_mssql.dll in C:\Windows\System32
   (I gave IUSR full access to these files, maybe read is enough)
3) uncomment php_mssql.dll in php.ini
4) Changed my default SQLSERVER 2005 install so it accepts named pipes.
   (Do this via start-> SQLServer2005->configuration tools->SQL SERVER
   surface area configuration)
5) reboot.
After that I could use the mssql_* functions.
---- --- -----
Inoltre magari ti puo' interessare questa:
http://www.microsoft.com/sql/technologies/php/default.mspx
