For all of those who have been having issues with MSSQL and RoundCube, I give to you the answer.
I have RoundCube (with HMail) running in the following environment. It works great and is fast.
Windows Server 2008 Standard
IIS 7
PHP 5.x.x
Beta version on RoundCube (latest version)
Miscrosft SQL Server 2005
First you will need to have installed MSSQL. Most will be running MSDE 2000 or SQL Express 2005. Both are the free versions from Microsoft.
Second, create a database such as RoundCube. IF you have SQL Express 2005, then you will need to download (if you haven't already) SQL Management Studio Express.
Third, open the mssql.initial file found in the \SQL folder where RoundCube Mail is installed. Copy the contents of that file into a new query window in Management Studio. Make sure you selected your new database before opening a new query window to set the contect to that database. Execute the statements that you just copied in.
Fourth, you will need to edit the db.inc.php file in the Config folder. Find the line that starts with $rcmail_config['db_dsnw']. I will provide 2 examples of how to write the line. The examples assume the following:
Machine name (of host) = MAILSERVER
Database name = RoundCube
Username = rcmail
Password = webmail
Example 1:
'mssql://rcmail:webmail@MAILSERVER/RoundCube'
Example 2 (assumes you have an instance of MSSQL called SQLEXPRESS):
'mssql://rcmail:webmail@MAILSERVER\\SQLEXPRESS/RoundCube'
if you installed SQL Express 2005, you will most likely have the instance.
Last but not least, there is a missing function in the \program\lib\MDB2\Driver\mssql.php file. The function is SetCharSet. If you do not add the missing function, you will receive an error message stating that the SetCharSet method is not implemented. I have attached a copy of my mssql.php file for convenience, but here are the missing lines in that file.
function setCharset($charset, $connection = null)
{
return true;
}
Once this is all done, it should work just fine (at least the database portion).
If you have questions or run into trouble getting it to work please reply and I will be happy to try and help.