I removed some 'security' settings that Microsoft had recommended which had prevented Named Pipe connections to our Microsoft SQL server. Basically requiring everyone to use TCPIP connections. Which is very simple when using a sYstem DSN or ADODB or any number of ASP connection types. But the latest version of PHP 4.2.1 seems to have a bug in mssql.connect where it DOES NOT use TCPIP connection, it for some reason always wants to use Named Pipes, even when you use a FQDN,1433 which should force it to use TCPIP. I don't know why, and since PHP is free, there really isn't a single company in charge of fixing such a problem.
Registry settings set back to: [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA] "RestrictAnonymous"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameter s] "RestrictNullSessAccess"=dword:00000000 The following Registry Settings on SQL 2000 server caused PHP 4.2.1 mssql.connect to fail a connection even though ASP pages and ODBC.connect using a system DSN configured to use TCPIP had no problem [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA] "RestrictAnonymous"=dword:00000002 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanManServer\Parameter s] "RestrictNullSessAccess"=dword:00000001 Microsoft recommends these two settings for security purposes. I do not know why mssql_connect doesn't like those set on the SQL server. In theory putting ,1433 at the end of the servername should force mssql to use a tcpip connection, but it doesn't when passed thru IIS 5.0. If I ran the php script in a dos prompt under an admin account from the IIS system, it had no problem, but when under the IUSR account, it could not make the connection and would error with the trust issue. -- PHP Database Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php