problemas con el alias de la base de datos

webjesusss
14 de Agosto del 2003
He realizado una aplicacion que utiiliza componentes de base de datos, mi problema viene de que al instalarla en otros equipos (que no son el que yo utilice para desarrollarla, no tienen delphi) falla al no reconocer el alias de la base de datos. Me han dicho que al hacer la instalacion, con installshield, ademas de hacer que instale el BDE (que ya lo hago) tengo que añadir el alias al sistema objetivo, pero no se como se hace eso. Gracias anticipadas.

victor_ya?
14 de Agosto del 2003
Mira el codigo que pongo a continuacion, esta en C++ Builder, pero el Session tambien puede ser usado en Delphi, Sirve para añadir borrar o modificar alias en tiempo de ejecucion espero que te sirva...
//-----------------------------------------------------------------
//Modificar alias
void __fastcall TForm1::btnModifyClick(TObject *Sender)
{
std::auto_ptr< TStringList > params( new TStringList);
params->Values["ENABLE BCD"] = "TRUE";
Session->ModifyAlias("BCDEMOS", params.get());
Session->SaveConfigFile();
}
//-----------------------------------------------------------------
//Agregar alias standar
void __fastcall TForm1::btnAddStandardClick(TObject *Sender)
{
const AnsiString path =
"C:\Program Files\Common Files\Borland Shared\Data";
Session->AddStandardAlias("BCBDEV_DB", path, "PARADOX");
Session->SaveConfigFile();
}
//-----------------------------------------------------------------
// Agregar alias
void __fastcall TForm1::btnAddClick(TObject *Sender)
{
std::auto_ptr< TStringList > params( new TStringList);
params->Values["ENABLE BCD"] = "TRUE";
params->Values["DATABASE NAME"] = "production";
params->Values["SERVER NAME"] = "NTS_PROD";
params->Values["USER NAME"] = "hhowe";
params->Values["PASSWORD"] = "mfcblowschunks";

Session->AddAlias("BCBDEV_SQL", "MSSQL", params.get());
Session->SaveConfigFile();
}
//-----------------------------------------------------------------
// Borrar alias
void __fastcall TForm1::btnDeleteClick(TObject *Sender)
{
Session->DeleteAlias("BCBDEV_DB");
Session->SaveConfigFile();
}
//-----------------------------------------------------------------

webjesusss
14 de Agosto del 2003
Muchas gracias a todos, problema resuelto.

becka
14 de Agosto del 2003
debes utilizar el installshiel que viene integrado en delphi y dependiendo la version de delphi que tengas, por ejemplo el dephi 3 no necesita poner alias, y por favor se mas especifico.

webjesusss
14 de Agosto del 2003
Mas especifico:
Utilizo delphi 6, que trae un installshield.
El alias de mi base de datos es 'arbiruchos'. En mi ordenador todo va como la seda.
Hago mi distribucion con installshield, añado el mergenoseque para que instale un BDE en el sistema objetivo. Supongo que en ese paso (hacer que instale un BDE) es en el que se le dice que el alias de la BD es 'arbitruchos', pero es que yo no se como se hace eso, porque si no ya lo habria hecho.

De este modo, al intentar utilizar la BD, el programa falla.
Gracias.

becka
14 de Agosto del 2003
hola
Para empezar tus bases de datos deben estar dentro del directorio donde reside la aplicacion. por lo que entendi tu ya las creastes.

En el BDE del installshield solo creas el alias para la instalacion de tu aplicacion (estos alias deben ser de igual nombre que los creaste en delphi para tu aplicacion)

debes seguir los siguentes pasos.

1. seleccion BDE y luego settings.
2. seleccionar fulle BDE Installation y siguiente
3. oprimir New y ahi debes poner el nombre de todos los alias que utilices (solo el nombre) y siguiente
4. debes activar la opcion save .cfg ... y siguiente
5. Te muestra la pantalla con tus alias que escribiste anteriormente y debes seleccionar una por una de darle la ruta(ejem. c:aplicacionarbiruchos) a cada una y elegir el tipo de base de datos y siguiente y finalizar.

Despues seleccionar la opcion Groups an Files y debes activar el icono de explorador de archivos

En la ventana de Files Groups debes posicionarte en la carpeta de Program Files y del explorador de archivos arrastar la carpeta o archivos donde se encuentran tus bases de datos.

ojala te sirva.

bye.