Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-04-2007
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Question Seoane nadie ha podido

Buenas dias,

Estoy diseñando una aplicacion en delphi 7, con componentes ado y sql 2000.
Tengo la necesidad de que en esa aplicacion que tengo, poder instalarla en servidores que nunca haya corrido anteriormente, como es sabido el componente adoconection se configura en tiempo de diseño, ahi elejimos el proveedor, el servidor, user, pass, etc. pero cuando queremos correrla en otro servidor se hace necesario compilar el programa conectado a ese servidor, ya saben todo lo que esto conlleva, ademas de que no es muy profesional que digamos tener que compilar la aplicacion en cada servidor que deseas instalarla. Lo que me gustaria hacer es que la aplicacion localize el servidor o servidores de sql que haya en la red y poder elegir al que me conectare, claro esta se supone que ya la base de datos debera estar atachada a este servidor y entonces a partir de ahi generar el string de coneccion que se le pasara al adoconection.

Ya lo he hecho con archivos de configuracion .ini y funciona, pero para esto debo primero haberme conectado por lo menos la primera vez para poder obtener el string de coneccion y colocarlo en el archivo ini.

Gracias por tu ayuda.

Última edición por marcoszorrilla fecha: 11-04-2007 a las 15:57:16.
Responder Con Cita
  #2  
Antiguo 11-04-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Hola erasmorc, no es que no quiera ayudarte, es simplemente que no tengo ni idea de lo que me estas hablando. No se como has llegado a la conclusión de que yo podría darte una solución a tu problema, quizá por mi numero de mensajes en el foro, pero si te fijas bien, de todos ellos creo que solo un par han sido relacionados con bases de datos y fueron para pedir ayuda

Por otro lado, aquí si hay auténticos maestros manejando bases de datos y dirigiéndote directamente a mi, estas limitando la ayuda que puedes recibir. Puede que alguno de ellos sepa la respuesta, pero que ni siquiera lea este hilo ....
Responder Con Cita
  #3  
Antiguo 11-04-2007
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Buenos dias,

Lo que pasa es que relaciono mas el tema con programacion que con BD, y me parece que una vez colocaste algo en el foro en donde podias a traves de sockets buscar el servidor que estuviera conectado a la red. He tratado de localizar ese hilo pero no he podido, pero de todas formas muchas gracias por contestar la pregunta, voy a colocar el hilo en el foro de BD a ver que pasa. Cuidate y muchas gracias.

Slds,
FRC
Responder Con Cita
  #4  
Antiguo 11-04-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
Cita:
Empezado por erasmorc
y me parece que una vez colocaste algo en el foro en donde podias a traves de sockets buscar el servidor que estuviera conectado a la red.
Creo que te refieres a este hilo
http://www.clubdelphi.com/foros/showthread.php?t=40113
Responder Con Cita
  #5  
Antiguo 11-04-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por erasmorc
...tengo, poder instalarla en servidores que nunca haya corrido anteriormente, como es sabido el componente adoconection se configura en tiempo de diseño, ahi elejimos el proveedor, el servidor, user, pass, etc
Que yo sepa nada te impide rellenar esa cadena en ejecución.

Cita:
Empezado por erasmorc
...ademas de que no es muy profesional que digamos tener que compilar la aplicacion en cada servidor que deseas instalarla.
No es que no sea profesional, es que es del todo innecesario y si a alguien se le pasa por la cabeza tal cosa, que se ponga a dormir unas cuantas horas y luego lo vuelva a pensar de nuevo....

En cuanto a la lista de servidores de una red, hace algun tiempo vi un procedimiento que los buscaba, pero no le logrado encontrarlo.
Revisa esta web, donde puedes encontrar una DLL (servidor COM) que te los devuelve y el correspondiente código en VB. Puedes usarlo directamente o intentar traducirlo.

Otra opción es mirar este artículo de Delphi3000, que muestra cómo hacerlo en Delphi. Aunque es una web de pago, antiguamente podías registrate y acceder a algunos artículos de forma gratuíra; Ahora no se cómo estará el tema...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 11-04-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.278
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
A esta me refería.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #7  
Antiguo 11-04-2007
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Gracias Neftali voy a probar de inmediato, pero segun dice el articulo es exactamente lo que necesito realizar.

Slds,
FRC
Responder Con Cita
  #8  
Antiguo 11-04-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Cita:
Empezado por erasmorc
Buenas dias,
como es sabido el componente adoconection se configura en tiempo de diseño, ahi elejimos el proveedor, el servidor, user, pass, etc. pero cuando queremos correrla en otro servidor se hace necesario compilar el programa conectado a ese servidor
Estas sacando conclusiones apresuradas mi amigo, Para eso existen los archivos UDL, que te permiten configurar las conexiónes sin necesidad de usar delphi para recompilar tu aplicación.

Que no sepas hacer algo, no significa que esto sea imposible.


Por cierto, esto debería ir en conexión a base de datos o Ms Sql Server, Digo es mi opinión.
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #9  
Antiguo 11-04-2007
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Buenos dias,

Ya que tocas el tema de los archivos udl y como bien dices que el hecho que una persona no sepa como hacer no quiere decir que no se pueda, te agradeceria mucho que me explicaras o pasaras un ejemplo de como se conecta. Te comento que se cuales son los archivos UDL que puedes configurar la conexion sin compilar desde delphi, hasta ahi vamos bien, pero a partir de ahi como le digo a mi componente que utilize este achivo udl para conectarse no he podido hacerlo, lo he intentado de las siguientes formas, en el conection string del adoconection coloco file name = 'c:\prueba\ventas.udl'
'file name = c:\prueba\ventas.udl' , file name = "c:\prueba\ventas.udl", etc,etc. Te agradeceria cualquier ayuda.

Slds,
FRC
Responder Con Cita
  #10  
Antiguo 11-04-2007
[pepon386] pepon386 is offline
Miembro Premium
 
Registrado: ene 2005
Ubicación: Valencia
Posts: 68
Poder: 20
pepon386 Va por buen camino
Lo único que necesitas para que tu aplicación funcione correctamente es en el evento 'OnWillConnect' del componente TADOConnection asignar el valor de la cadena de conexión a la variable 'ConnectionString':

Código Delphi [-]
procedure TDMMain.ADOConnectionWillConnect(Connection: TADOConnection;
  var ConnectionString, UserID, Password: WideString;
  var ConnectOptions: TConnectOption; var EventStatus: TEventStatus);
begin
  ConnectionString := GetConnectionString;
  EventStatus := esUnwantedEvent;
end;
 
function TDMMain.GetConnectionString;
begin
  Result := MiCadenaDeConexión;
end;
Responder Con Cita
  #11  
Antiguo 11-04-2007
erasmorc erasmorc is offline
Miembro
 
Registrado: ago 2004
Posts: 66
Poder: 20
erasmorc Va por buen camino
Buenos dias,

Y en que momento utilizo la configuracion guardada en el archivo udl???


Slds,
FRC
Responder Con Cita
  #12  
Antiguo 11-04-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Mi amigo, creo que de repente una búsqueda en el foro te sería bastante útil:

aquí un post donde se presentaba tu misma duda con su respectiva solución:

http://www.clubdelphi.com/foros/showthread.php?t=34865

Ahora que te comento, un archivo UDL es en sí, un Ini común y corriente, así que podrias crear una función del tipo:

Código Delphi [-]
With TIniFile.Create(ArchivoUdl) Do
  Result := 'provider=' + ReadString('oledb','Provider','');

Una vez que tienes la cadena de conexión, solo debes asignarla a la propiedad Conexión String de tu objeto conexión.

bueno, pues suerte
__________________
Conoce mi blog http://www.edgartec.com

Última edición por poliburro fecha: 11-04-2007 a las 18:25:10.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Han podido ejecutar aplicaciones con el Escritorio Remoto? diegolf Conexión con bases de datos 8 10-04-2007 19:00:04
Felicitaciones a Domingo Seoane por sus primeros 1.000 mensajes dec La Taberna 15 16-11-2006 01:48:38
Felicidades Seoane Elenita La Taberna 14 04-11-2006 08:00:46
Nadie Usa Ado? FernanGil Conexión con bases de datos 4 22-09-2003 19:19:17
ora-12154:TNS: NO SE HA PODIDO RESOLVER EL NOMBRE DEL SERVICIO rinaib Oracle 5 04-08-2003 18:55:37


La franja horaria es GMT +2. Ahora son las 00:30:57.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi