Интерфейс ODBC под Win XP
От: MS  
Дата: 04.02.04 08:06
Оценка:
Здравствуйте!
Столкнулся с такой проблемой — код, который работал под W2K не "хотит" работать под XP! Самое что интересное — ничего такого хитрого в коде нет! Просто надо получить список доступных MS SQL серверов. Такие дела. Может быть кто сталкивался с такой проблемой и знает как её можно решить?! Подскажите.


BOOL SQLEnum()
{
    SQLHENV hSQLEnv;
    SQLHDBC hSQLHdbc;
    short sConnStrOut;
    BOOL bReturn = FALSE;
    m_iRetcode = SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &hSQLEnv);
    if (m_iRetcode == SQL_SUCCESS || m_iRetcode == SQL_SUCCESS_WITH_INFO)
    {
        m_iRetcode = SQLSetEnvAttr(hSQLEnv, SQL_ATTR_ODBC_VERSION, (void *)SQL_OV_ODBC3, 0);
        if (m_iRetcode == SQL_SUCCESS || m_iRetcode == SQL_SUCCESS_WITH_INFO) 
        {
            m_iRetcode = SQLAllocHandle(SQL_HANDLE_DBC, hSQLEnv, &hSQLHdbc);
            if (m_iRetcode == SQL_SUCCESS || m_iRetcode == SQL_SUCCESS_WITH_INFO) 
            {
                CString szConnStrOut;
                m_iRetcode = SQLBrowseConnect(hSQLHdbc, (SQLCHAR *)pszInputParam, SQL_NTS,
                         (SQLCHAR *)(szConnStrOut.GetBuffer(MAX_RET_LENGTH)), MAX_RET_LENGTH, &sConnStrOut);



Валится как раз после исполнения SQLBrowseConnect().

Заранее спасибо!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.