コード例 #1
0
ファイル: ODBC.cpp プロジェクト: simplegsb/gazengine
bool Connect(string _dsnName, string _userName, string _password)
{
    // Get a handle to the SQL environment.
    if (!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL_HANDLE, &g_environment)))
    {
        return false;
    }

    // Use ODBC v3.
    if (!SQL_SUCCEEDED(SQLSetEnvAttr(g_environment, SQL_ATTR_ODBC_VERSION, (void*) SQL_OV_ODBC3, 0)))
    {
        return false;
    }

    // Get a handle to an SQL connection.
    if (!SQL_SUCCEEDED(SQLAllocHandle(SQL_HANDLE_DBC, g_environment, &g_connection)))
    {
        return false;
    }

    // Connect!
    if (!SQL_SUCCEEDED(SQLConnectA(g_connection, (SQLCHAR*) _dsnName.c_str(), SQL_NTS,
                                   (SQLCHAR*) _userName.c_str(), SQL_NTS, (SQLCHAR*) _password.c_str(), SQL_NTS)))
    {
        return false;
    }

    return true;
}
コード例 #2
0
BOOL CODBCDatabase::Open(CHAR* szDSN,CHAR* szUser, CHAR* szPass)
{
	SQLRETURN ret;
	
	if(m_lConnectionTimeout > 0)
		SQLSetConnectAttr(m_hDbc, SQL_ATTR_CONNECTION_TIMEOUT, (SQLPOINTER)m_lConnectionTimeout, 0);
		
	SQLSetConnectAttr(m_hDbc, SQL_ATTR_LOGIN_TIMEOUT, (SQLPOINTER)m_lLoginTimeout, 0);

	ret = SQLConnectA(m_hDbc, (SQLCHAR *)szDSN, SQL_NTS, (SQLCHAR *)szUser, SQL_NTS, (SQLCHAR *)szPass, SQL_NTS);

	m_bIsConnected = ret == SQL_SUCCESS || ret == SQL_SUCCESS_WITH_INFO;
	return m_bIsConnected;
}