PDA

Ver la Versión Completa : conexion diferentes bases de datos


tonid
07-10-2008, 21:15:08
Hola compañeros estoy desarrollando una apliación de gestión de exhortos, con componentes ado desde delphi 6, y la bd es sql server 2005 express. La consulta es que he creado dos bases de datos una para civil y otra para penal, y quiero que al arrancar la aplicación pueda seleccionar la base de datos, empleo el adoconnection en su propiedad connectionstring, pero creo que me he liado, alguna ayuda?
gracias.

luisgutierrezb
07-10-2008, 21:18:51
Puedes modificar el connectionstring antes de que te conectes para asi entrar a la base que quieras

Neftali [Germán.Estévez]
08-10-2008, 07:47:05
Una forma sencilla es crear las dos cadenas de conexion en dos ficheros de texto, por ejempo. Al entrar al la aplicación pregunta al usuario y dependiendo de la respuesta carga en la propiedad ConnectionStrring de tu ADOConnection el contenido del fichero que quieras.

Algo Así:


var
TS:TStrings;
fileName, path:String;
begin
// preguntar cual desea cargar
....


if (resp = 'penal') then begin
fileName := 'connP.txt';
end
else begin
fileName := 'connC.txt';
end;

path := IncludeTrailingBackSlash(ExtractFilePath(Application.ExeName));
TS := TStringList.Create();
try
TS.LoadFromFile(path + fileName);
ADOConnection.ConnectionString := TS.Text;
finally
TS.Free;
end;
end;

poliburro
08-10-2008, 14:47:35
Una forma sencilla es crear las dos cadenas de conexion en dos ficheros de texto, por ejempo. Al entrar al la aplicación pregunta al usuario y dependiendo de la respuesta carga en la propiedad ConnectionStrring de tu ADOConnection el contenido del fichero que quieras.




Es verdad aunque para mi gusto son mejor los archivos UDL ya que al ejecutarlos te permiten configurar la cadena con el Wizard de ADO. Además de que estos archivos al tener la estructura de un Ini, son sumamente sencillos de leer.


Otra opción para ti amigo es que definas la cadena de conexión apuntando a la DB master y en tiempo de ejecución y dependiendo de la elección del usuario y antes de abrir la conexión cambies la propiedadad DefaultDataBaseName



Saludos y suerte

Neftali [Germán.Estévez]
08-10-2008, 15:08:12
para mi gusto son mejor los archivos UDL ya que al ejecutarlos te permiten configurar la cadena con el Wizard de ADO.

Básicamente es lo mismo.
En el caso de los UDL no puedes hacer directamente LoadFromFile, pero tienen la ventaja como dices de abrirse con el asistente.

También es buena elección.

poliburro
08-10-2008, 15:19:12
Básicamente es lo mismo.
En el caso de los UDL no puedes hacer directamente LoadFromFile, pero tienen la ventaja como dices de abrirse con el asistente.

También es buena elección.


Con loadfromfile no, pero sí con la clase ini.



With TInifile.Create('ArchivoUdl') Do
Begin
AdoConnection.Connectionstring := 'Provider=' + ReadStringIni('OleDb','Provider','');
Free;
End;