Witam, mam taki kod:

#include "stdafx.h"
#include <sql.h>
#include <sqlext.h>
#include <sqltypes.h>
#include <iostream>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{

SQLHENV sql_hEnv = 0;
SQLHDBC sql_hDBC = 0;
SQLHSTMT sql_hStmt = 0;

SQLWCHAR szDNS[1024] ={0};
SQLSMALLINT nSize = 0;

SQLRETURN sqlRet =
SQLAllocHandle( SQL_HANDLE_ENV,
SQL_NULL_HANDLE,
&sql_hEnv );

sqlRet =
SQLSetEnvAttr( sql_hEnv,
SQL_ATTR_ODBC_VERSION,
(void*) SQL_OV_ODBC3,
0 );

sqlRet =
SQLAllocHandle( SQL_HANDLE_DBC,
sql_hEnv,
&sql_hDBC );

// if 0 - use SQLDriverConnect
// if 1 - use SQLConnect
//
#if 0
sqlRet =
SQLConnect( sql_hDBC,
L"localhost:3306",
SQL_NTS,
L"root",
SQL_NTS,
L"admin",
SQL_NTS );

#else
sqlRet =
SQLDriverConnect( sql_hDBC,
0,
L"SERVER=localhost;option=0;port=3306;UID=root;",
SQL_NTS,
szDNS,
1024,
&nSize,
SQL_DRIVER_COMPLETE );
#endif

if( SQL_SUCCEEDED( sqlRet ) )
{
cout << "Connected to database " << endl
<< "Connection Info: " << endl
<< szDNS << endl;
sqlRet =
SQLAllocHandle( SQL_HANDLE_STMT,
sql_hDBC,
&sql_hStmt );

  sqlRet = 
  SQLExecDirect( sql_hStmt, 
                 L"SELECT * FROM COLLATIONS;", 
                 SQL_NTS ); 

  SQLSMALLINT nCols = 0; 
  SQLINTEGER nRows = 0; 
  SQLINTEGER nIdicator = 0; 
  SQLCHAR buf[1024] = {0}; 

  SQLNumResultCols( sql_hStmt, &nCols ); 
  SQLRowCount( sql_hStmt, &nRows ); 

  while( SQL_SUCCEEDED( sqlRet = SQLFetch( sql_hStmt ) ) ) 
  { 
     cout << "Row " << endl; 
     for( int i=1; i <= nCols; ++i ) 
     { 
        sqlRet = SQLGetData( sql_hStmt, 
                             i, 
                             SQL_C_CHAR, 
                             buf, 
                             1024, 
                             &nIdicator ); 

        if( SQL_SUCCEEDED( sqlRet ) ) 
        { 
           cout << "Column " << buf << endl; 
        } 
     } 
  } // while 

  SQLFreeHandle( SQL_HANDLE_STMT, sql_hStmt ); 
  SQLDisconnect( sql_hDBC ); 

}
else
{
cout << "Failed to connect to the database" << endl;
}

SQLFreeHandle( SQL_HANDLE_DBC, sql_hDBC );
SQLFreeHandle( SQL_HANDLE_ENV, sql_hEnv );

system("PAUSE");
return 0;
}

Wszystko się pięknie kompiluje lecz nie mogę połączyć się z bazą danych tzn ciągle widzę na ekranie "Failed to connect to the database".

Pracuję w VS 2008, jako serwera bazy danych używam MySQL'a z xampp'a - firewall jest odpowiednio skonfigurowany do pracy z tym wyposażeniem. Użytkownik root nie ma włączonej autoryzacji hasłem.
Wielokrotnie modyfikowałem linijkę "SERVER=localhost;option=0;port=3306;UID=root;" pod różnym kątem lecz efekt ten sam.

Proszę o pomoc