Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Herramientas administrativas de XP

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Bases de Datos
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Herramientas administrativas de XP Responder citando

HOLA!!!

Bueno, uno como programador debe crear programas que se instalen facilmente y no que uno tenga que ir donde el cliente a instalarselo cada vez que formatee o lo que sea.

Por eso estoy aqui, porque todos los programas que hago siempre me toca ir a donde mi cliente a hacerle una maraña para ponerlos a correr.

Una de esas marañas es que siempre que trabajo con BD's tengo que ir Pabel de control->Herramientas administratvas->Origenes de datos(ODBC), y hacer que el sistema reconozca la BD de mi programa, el cual a veces se hace tedioso ir a hacer a donde un cliente.

La pregunta es la siguiente: ¿Alguien sabe alguna forma de hacer eso, medienta el codigo, o creando un instalador o como sea?

GRACIAS!!!
_________________
__________________________
C++ RULZ FO' EVA'
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola si te refieres a crear alias, Fernando Diaz dejo un ejemplo en este foro es para mysql.

https://cppbuilder.es/viewtopic.php?t=10018&highlight=mysql

saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado MSN Messenger
Mensaje    Asunto: Responder citando

GRACIAS!!!...

Paro las BD's que me interesan son DBase y Access, pero el dia que utilize MySQL chequeare este codigo.

Pero si hay documentacion acerca de las que mencione anteriormente, les agradezco compartir porfavor.

GRACIASS!!!!
_________________
__________________________
C++ RULZ FO' EVA'
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

https://cppbuilder.es/viewtopic.php?t=3644
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Para dejarlo un poco mas claro:
Código:
//---------------------------------------------------------------------------
// * CREAR UN ALIAS DE ACCESS
//---------------------------------------------------------------------------
bool CreateODBCAliasAccess(String alias, String db, String dir, String desc)
{
    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)
        {
            String params;
            params.sprintf("DSN=%s; Description=%s; DefaultDir=%s; DBQ=%s\0",
                alias.c_str(), desc.c_str(), dir.c_str(), db.c_str());
            bRet = SQLConfigDataSource(NULL, 4 /*ODBC_ADD_SYS_DSN*/,
                "Microsoft Access Driver (*.mdb)", params.c_str());
        }
        FreeLibrary(hLib);
    } // Devuelve true si se crea o false en caso contrario
    return bRet;
}

//---------------------------------------------------------------------------
// * CREAR UN ALIAS DE DBASE
//---------------------------------------------------------------------------
bool CreateODBCAliasDBase(String alias, String dir, String desc)
{
    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)
        {
            String params;
            params.sprintf("DSN=%s; Description=%s; DefaultDir=%s; "
                "FIL=dBase 5.0\0", alias.c_str(), desc.c_str(), dir.c_str());
            bRet = SQLConfigDataSource(NULL, 4 /*ODBC_ADD_SYS_DSN*/,
                "Microsoft dBase driver (*.dbf)", params.c_str());
        }
        FreeLibrary(hLib);
    } // Devuelve true si se crea o false en caso contrario
    return bRet;
}

//---------------------------------------------------------------------------
// * BORRAR UN ALIAS DE ACCESS
//---------------------------------------------------------------------------
bool RemoveODBCAliasAccess(String sAlias)
{
    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)
        {
            String params;
            params.sprintf("DSN=%s;\0", sAlias.c_str());
            bRet = SQLConfigDataSource(NULL, 6 /*ODBC_REMOVE_SYS_DSN*/,
                "Microsoft Access Driver (*.mdb)", params.c_str());
        }
        FreeLibrary(hLib);
    } // Devuelve true si se borra o false en caso contrario
    return bRet;
}

//---------------------------------------------------------------------------
// * BORRAR UN ALIAS DE DBASE
//---------------------------------------------------------------------------
bool RemoveODBCAliasDBase(String sAlias)
{
    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)
        {
            String params;
            params.sprintf("DSN=%s;\0", sAlias.c_str());
            bRet = SQLConfigDataSource(NULL, 6 /*ODBC_REMOVE_SYS_DSN*/,
                "Microsoft dBase Driver (*.dbf)", params.c_str());
        }
        FreeLibrary(hLib);
    } // Devuelve true si se borra o false en caso contrario
    return bRet;
}

y un ejemplo de uso:
Código:
    // Creamos un alias de Access
    bool ret1 = CreateODBCAliasAccess("MiAliasAccess", "bcdemos.mdb",
        "C:\\borland\\Borland Shared\\Data", "Esto es una prueba");
    ShowMessage(ret1 ? "Creado" : "Error");

    // Creamos un alias de dBase
    bool ret2 = CreateODBCAliasDBase("MiAliasDBase",
        "C:\\borland\\Borland Shared\\Data", "Descripcion opcional");
    ShowMessage(ret2 ? "Creado" : "Error");

Código:
    // Borramos un alias de Access
    bool ret1 = RemoveODBCAliasAccess("MiAliasAccess");
    ShowMessage(ret1 ? "Borrado" : "Error");

    // Borramos un alias de dBase
    bool ret2 = RemoveODBCAliasDBase("MiAliasDBase");
    ShowMessage(ret2 ? "Borrado" : "Error");
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

GRACIAS!!... dejame intertar para ver si sirve y luego les aviso....

de nuevo GRACIAS!!!!
_________________
__________________________
C++ RULZ FO' EVA'
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.