OCIEnv* m_pEnvhp;   
  OCIError* m_pErrorhp;   
  OCISession* m_pUsrhp;   
  OCISvcCtx* m_pSvchp;   
  OCIStmt* m_pStmthp;   
    
  int   COracle::Open(char   *pszUserName,   char   *pszPasswd,   char   *pszServerName,   int   nInitMode)   
  {   
  if   (CONNECTED   ==   m_bConnected)   
  {   
  return   0;   
  }   
    
  sword retval;   
  //   ³õʼ»¯»·¾³±äÁ¿   
  retval   =   OCIEnvCreate(&m_pEnvhp,   nInitMode,   (dvoid*)0,   0,0,0,0,0);   
  if   (OCI_SUCCESS   !=   retval)   
  {   
  CheckErr(retval,   "OCIEnvCreate");   
  FreeHandle();   
  return   retval;   
  }   
    
  retval   =   OCIHandleAlloc(m_pEnvhp,   (dvoid   **)&m_pErrorhp,   OCI_HTYPE_ERROR,   0,   0);   
  if   (OCI_SUCCESS   !=   retval)   
  {   
  CheckErr(retval,   "OCIHandleAlloc");   
  FreeHandle();   
  return   retval;   
  }   
    
  retval   =   OCILogon(m_pEnvhp,   m_pErrorhp,   &m_pSvchp,     
  (unsigned   char*)pszUserName,   strlen(pszUserName),   
  (unsigned   char*)pszPasswd,   strlen(pszPasswd),   
  (unsigned   char*)pszServerName,   strlen(pszServerName));   
    
  if   (OCI_SUCCESS   !=   retval)   
  {   
  CheckErr(retval,   "OCILogon");   
  FreeHandle();   
  return   retval;   
  }   
    
  m_bConnected   =   CONNECTED;   
    
  retval   =   OCIHandleAlloc(m_pEnvhp,   (dvoid**)&m_pStmthp,   OCI_HTYPE_STMT,   
  0,   0);   
  if   (OCI_SUCCESS   !=   retval)   
  {   
  CheckErr(retval,   "OCIHandleAlloc");   
  Close();   
  return   retval;   
  }   
    
  return   0;   
  }   ****************
错误:OCIEnvCreate
Linking...     
  nafxcwd.lib(thrdcore.obj)   :   error   LNK2001:   unresolved   external   symbol   __endthreadex     
  nafxcwd.lib(thrdcore.obj)   :   error   LNK2001:   unresolved   external   symbol   __beginthreadex     
  Debug/dbtest.exe   :   fatal   error   LNK1120:   2   unresolved   externals     
    

解决方案 »

  1.   

    OCIEnvCreate创建OCI环境 试试!
    sword OCIEnvCreate(   
    OCIEnv **envhpp,  //OCI环境句柄指针 
    ub4 mode, //初始化模式:OCI_DEFAULT/OCI_THREADED 等 
    CONST dvoid *ctxp, 
    CONST dvoid *(*malicfp)(dvoid *ctxp,size_t size), 
    CONST dvoid *(ralocfp)(dvoid *ctxp,dvoid *memptr,size_t newsize), 
    CONST void *(*mfreefp)(dvoid *ctxp,dvoid *memptr), 
    Size_t xstramemsz, 
    Dvoid **usrmempp