//bool ret;
//ret = CreateODBCAlias("MiAlias",
//"miBase.mdb",
//"C:\directorio\datos\",
//"Esto es una prueba");
// Devuelve true si se crea correctamente
//ShowMessage(ret ? "Creado" : "Error");
bool CreateODBCAlias(String sAlias, String sDB, String Dir, String sDescription)
{
typedef BOOL (__stdcall *pSQLConfigDataSource)(HWND, WORD, LPCSTR, LPCSTR);
pSQLConfigDataSource SQLConfigDataSource;
HINSTANCE hLib;
bool bRet = false;
hLib = LoadLibrary("odbccp32.dll");
if (hLib)
{
SQLConfigDataSource = (pSQLConfigDataSource) GetProcAddress(hLib, "SQLConfigDataSource");
if (SQLConfigDataSource)
{
char szParam[1024];
sprintf(szParam, "DSN=%s; Description=%s; DefaultDir=%s; DBQ=%s",
sAlias.c_str(), sDescription.c_str(), sDir.c_str(), sDB.c_str());
bRet = SQLConfigDataSource(NULL, 1 /*ODBC_ADD_DSN*/,
"Microsoft Access Driver (*.mdb)", szParam);
}
FreeLibrary(hLib);
}
// Devuelve true si se crea o false en caso contrario
return bRet;
}