• Lunes 23 de Diciembre de 2024, 14:20

Autor Tema:  Crear / Borrar Alias Odbc  (Leído 3286 veces)

_Viktor

  • Miembro MUY activo
  • ***
  • Mensajes: 271
    • Ver Perfil
    • http://AyudaCBuilder.foros.st
Crear / Borrar Alias Odbc
« en: Sábado 6 de Diciembre de 2003, 03:03 »
0
Para crear un alias ODBC

Código: Text
  1.  
  2. //bool ret;
  3. //ret = CreateODBCAlias("MiAlias",
  4. //"miBase.mdb",
  5. //"C:\directorio\datos\",
  6. //"Esto es una prueba");
  7. // Devuelve true si se crea correctamente
  8. //ShowMessage(ret ? "Creado" : "Error");
  9.  
  10.  
  11.  
  12. bool CreateODBCAlias(String sAlias, String sDB, String Dir, String sDescription)
  13. {
  14.  typedef BOOL (__stdcall *pSQLConfigDataSource)(HWND, WORD, LPCSTR, LPCSTR);
  15.  pSQLConfigDataSource SQLConfigDataSource;
  16.  HINSTANCE hLib;
  17.  bool bRet = false;
  18.  hLib = LoadLibrary("odbccp32.dll");
  19.   if (hLib)
  20.     {
  21.       SQLConfigDataSource =  (pSQLConfigDataSource) GetProcAddress(hLib, "SQLConfigDataSource");
  22.       if (SQLConfigDataSource)
  23.         {
  24.             char szParam[1024];
  25.             sprintf(szParam, "DSN=%s; Description=%s; DefaultDir=%s; DBQ=%s",
  26.                    sAlias.c_str(), sDescription.c_str(), sDir.c_str(), sDB.c_str());
  27.             bRet = SQLConfigDataSource(NULL, 1 /*ODBC_ADD_DSN*/,
  28.                     "Microsoft Access Driver (*.mdb)", szParam);
  29.         }
  30.       FreeLibrary(hLib);
  31.   }  
  32.  // Devuelve true si se crea o false en caso contrario
  33.  return bRet;
  34. }
  35.  
  36.  

Para Borrar un alias ODBC

Código: Text
  1.  
  2.  
  3. //LLAMADA
  4. //bool ret = RemoveODBCAlias("Rebeca");
  5. // devuelve true en caso de que se borre
  6. //ShowMessage(ret ? "Borrado" : "Error");
  7.  
  8.  
  9. bool RemoveODBCAlias(String sAlias)
  10. {    
  11.   typedef BOOL (__stdcall *pSQLConfigDataSource)HWND,ORD, LPCSTR, LPCSTR);
  12. pSQLConfigDataSource SQLConfigDataSource;    HINSTANCE hLib;
  13. bool bRet = false;
  14. hLib = LoadLibrary("odbccp32.dll");
  15.  if (hLib)
  16.     {        SQLConfigDataSource = (pSQLConfigDataSource) GetProcAddress(hLib, "SQLConfigDataSource");
  17.         if (SQLConfigDataSource)  
  18.          {      
  19.             char szParam[1024];
  20.             sprintf(szParam, "DSN=%s;", sAlias.c_str));
  21.             bRet = SQLConfigDataSource(NULL,3 /*ODBC_REMOVE_DSN*/,
  22.           "Microsoft Access Driver (*.mdb)", szParam);
  23.         }
  24.         FreeLibrary(hLib);
  25.     }
  26.  // Devuelve true si se borra o false en caso contrario    return bRet;
  27. }
  28.  
  29.  
  30.  
  31.  


Autor: _Leo...

Saludos.-
_Viktor _Yañez_
"Ser inteligente no es ser mas, solo equivocarse menos y no usar visual basic"

http]