数据库连接有关问题,为什么SQLConnect连接失败

数据库连接问题,为什么SQLConnect连接失败
前面都正常,就下面的SQLConnect函数执行失败,MSDN上例子,怎么回事,我就改了数据库用户的连接参数,PC-201101311025是我的数据库服务器名称。
C/C++ code
#include   <windows.h>   
#include "sqlext.h"
#include "stdio.h"
void main()
{

SQLHENV     henv;
SQLHDBC     hdbc;
SQLHSTMT    hstmt;
SQLRETURN   retcode;

      /*Allocate environment handle */
retcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &henv);

if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
   /* Set the ODBC version environment attribute */
   retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0); 

   if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
      /* Allocate connection handle */
      retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc); 

      if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
         /* Set login timeout to 5 seconds. */
         SQLSetConnectAttr(hdbc, /*(void*)*/SQL_LOGIN_TIMEOUT, (void*)5, 0);

         /* Connect to data source */
         retcode = [color=#FF0000]SQLConnect[/color](hdbc, (SQLCHAR*) "PC-201101311025", SQL_NTS,
                  (SQLCHAR*) "sa", SQL_NTS,
                  (SQLCHAR*) "", SQL_NTS);
        
         if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO){
            /* Allocate statement handle */
            retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc, &hstmt); 
            [color=#FF0000]printf("success");[/color]            if (retcode == SQL_SUCCESS || retcode == SQL_SUCCESS_WITH_INFO) {
            /* Process data */

               SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
            }
            SQLDisconnect(hdbc);
         }
         SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
      }
   }
   SQLFreeHandle(SQL_HANDLE_ENV, henv);
}   
}


------解决方案--------------------
建议用ADO,很简单的.
------解决方案--------------------
那你看下 retcode 这个返回什么值。
再对比下MSDN的说明
------解决方案--------------------
测试一下你的连接字符串,可以找一段好使的ODBC代码,把你的连接字符串放上去看看好不好使