Página 1 de 1

Conectar varias bases de datos

NotaPublicado: Lun Nov 12, 2007 10:36 pm
por Garra
Hola a todos de nuevo.
Esta vez ya me encuentro bastante perdido tras haber intentado pasar registros de una base de datos a otra. El problema se complica cuando necesito tener, no dos, sino tres o más bases de datos abiertas, o por lo menos pasar de una a otra sin salir de la aplicación o algo parecido.

Antes de la versión 5.5, concrétamente con la 2.5, tenía unos source code en C++ que hacían esta función. Ahora no funcionan. ¿Qué ha podido ocurrir para que estos 'source code' hayan dejado de funcionar?

La secuencia utilizada y que funcionaba entonces era:
Conectar; Guarda conexión; Conexión por defecto; Desconectar; Recuperar; Conexión por defecto.

Os los muestro para ver si me podéis indicar algo.

Conectar: (crea una nueva conexión)
{
ObCharFld usr, pwd;
usr = ObAppAPI::GetOption("[ODBC Settings]","Userid","");
pwd = ObAppAPI::GetOption("[ODBC Settings]","Password","");
//pObDatabaseConnection pdc = pObDatabaseConnection(OBDLL_NAME);
pObDatabaseConnection pdc = new ObDatabaseConnectionOBDLL_NAME);
pdc->Connect( &(2:).GetText(), usr.GetText(), pwd.GetText(), "", "" );
void *vp = (void *) pdc;
&(1:) = (long) vp;
}
Los parámetros son identificación de conexión y datasource.
No da error al compilar, pero no funciona.
**********
Conexión por defecto:
{
long l = &(1:);
void *vp = (void *) l;
pObDatabaseConnection pdc = (pObDatabaseConnection) vp;
p_fnc_data->p_call->fGetCallMgr()->fSetTheDefaultDBConnection(pdc);
}
El parámetro es el identificador de la conexión.
Con este último ´'source code', se definían las bases de datos que quedaban activas para actuar con los registros. El error que se produce al compilar esta es: "COMPILE : error C2660: 'ObCallMgr::fSetTheDefaultDBConnection' : function does not take 1 arguments"
***********

Echadle un vistazo a ver si me podeis ayudar. Gracias.