Installing against a MS SQL database

Un article de EpistemaWiki.

php.ini configuration

extension=php_mssql.dll
mssql.textlimit = 65536
mssql.textsize = 65536

ntwdblib.dll

The MS SQL extension requires the ntwdblib.dll to be present in the path in order to function. The best way to get this DLL is to install the MS SQL Client Tools. Beware of duplicate versions of this DLL, as several versions can coexists, but all don't work the same with all servers. If you have a problem connecting to the server, check the version of those DLLs.

The version of ntwdblib.dll you should have is 2000.80.194.0. You may download it from here: http://www.userscape.com/ntwdblib.dll

Automatic conversion from ANSI to OEM

A very tricky issue may come from the fact MSSQL encoding is not the same when run from IIS or from the command line. http://support.microsoft.com/?scid=kb;EN-US;153449

In order to make sure the encoding is the same, you need to disable the "Automatic ANSI to OEM conversion":

  • Start the "Client Network Utility": C:\WINDOWS\system32\cliconfg.exe
  • Select the DB-Library Tab
  • Deselect "Automatic ANSI to OEM conversion"
  • Click OK or Apply

Or inject this registry entry:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\ Client\DB-Lib]
"AutoAnsiToOem"="OFF"