I'm trying to get PHP (for Windows) to talk to MS SQL Server. This
is proving to be non-trivial. 

I downloaded and installed the Windows binary package on my machine 
(the machine is running Microsfot Windows XP Professional), and 
jumped through the hoops to get it running under Apache 2.0. So
far, so good.

Now, the first thing I noted was that the mssql functions actually
don't seem to exist in the binary... and apparently you have to
compile them in to PHP, after having built FreeTDS. This seems a bit
odd, as it's not at all clear to me that FreeTDS actually will
build under Windows at all (it being a UNIX solution). I did try
building it under cygwin, which ended with a flurry of error messages
in bsqldb.c, so this assumption seems correct. 

I did also note there are some DLLs one is supposed to install...
php_mssql.dll and ntwdblib.dll. I added both to Windows\System32, and
uncommented the php_mssql.dll line in php.ini, but
this didn't seem to change anything. This script:

                echo "\nMSSQL functions present";
                echo "\nMSSQL functions apparently missing";

gives the second result.

All right, approach #2... maybe I can use COM objects to try to 
connect to an ODBC data source, something like an example I found
on the php documentation for mssql:

        $db = new COM("ADODB.Connection");
        $dsn = "DRIVER=SQL Server; SERVER=my.local.server;UID=user;PWD=passwd; 
        $rs = $db->Execute("SELECT * FROM project LIMIT 1");

        while (!$rs->EOF)
                echo $rs->Fields['project_id']->Value."<BR>";

This seems to at least kick up no errors up to a point... but
that point is when I try to wind through that loop, and I don't
really know COM objects well enough to troubleshoot this.

Any ideas what the right best way to do this is? I'd prefer to
use the mssql functions if I can... 



PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to