home *** CD-ROM | disk | FTP | other *** search
/ io Programmo 32 / IOPROG_32.ISO / SOFT / SqlEval7 / devtools / samples / sqldmo / cpp / socpp / socpp.cpp next >
Encoding:
C/C++ Source or Header  |  1997-06-06  |  1.7 KB  |  76 lines

  1. #define UNICODE
  2. #define _UNICODE
  3. #include <windows.h>
  4. #include <initguid.h>
  5. #include <tchar.h>
  6. #include "sqldmoid.h"
  7. #include "sqldmo.h"
  8.  
  9. int main (void)
  10. {
  11.     HRESULT hr;
  12.     if FAILED(hr = CoInitialize (NULL))
  13.     {
  14.         _tprintf(TEXT("CoInitialize Failed\n"));
  15.         return (0);
  16.     }
  17.  
  18.     LPSQLDMOSERVER pSQLServer = NULL;
  19.     if FAILED(hr = CoCreateInstance(CLSID_SQLDMOServer, NULL, CLSCTX_INPROC_SERVER,
  20.         IID_ISQLDMOServer, (LPVOID*)&pSQLServer))
  21.     {
  22.         _tprintf(TEXT("CoCreateInstance Failed\n"));
  23.         return (0);
  24.     }
  25.  
  26.     pSQLServer->SetLoginTimeout(10);
  27.     
  28.     if FAILED(hr = pSQLServer->Connect(TEXT(""),TEXT("sa"),TEXT("")))
  29.     {
  30.         _tprintf(TEXT("Connect failed\n"));
  31.         LPSUPPORTERRORINFO pSEI = NULL;
  32.         if SUCCEEDED(pSQLServer->QueryInterface(IID_ISupportErrorInfo, (LPVOID*)&pSEI))
  33.         {
  34.             if SUCCEEDED(pSEI->InterfaceSupportsErrorInfo(IID_ISQLDMOServer))
  35.             {
  36.                 LPERRORINFO pEI = NULL;
  37.                 GetErrorInfo (0, &pEI);
  38.                 SQLDMO_BSTR strDescription, strSource;
  39.                 pEI->GetDescription (&strDescription);
  40.                 pEI->GetSource (&strSource);
  41.                 _tprintf(TEXT("%s returned error %d: %s\n"),
  42.                     strSource,
  43.                     SCODE_CODE(hr),
  44.                     strDescription);
  45.                 pEI->Release ();
  46.             }
  47.         }
  48.         else
  49.         {
  50.             _tprintf(TEXT("Error %d\n"), HRESULT_CODE(hr));
  51.         }
  52.         pSEI->Release ();
  53.     } 
  54.     else
  55.     {
  56.         SQLDMO_BSTR str;
  57.         pSQLServer->GetVersionString(&str);
  58.         _tprintf(TEXT("%s\n"),str);
  59.         LPSQLDMOAPPLICATION pApp = NULL;
  60.         pSQLServer->GetApplication(&pApp);
  61.         pApp->GetName(&str);
  62.         _tprintf(TEXT("%s\n"),str);
  63.         SysFreeString((BSTR)str);
  64.  
  65.         LONG ver;
  66.         pSQLServer->GetVersionMajor(&ver);
  67.         _tprintf(TEXT("%d\n"),ver);
  68.  
  69.     }
  70.  
  71.     pSQLServer->Release ();
  72.     
  73.     CoUninitialize ();
  74.     return (0);
  75. }
  76.