Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-01-2005
GliceMan GliceMan is offline
Miembro
 
Registrado: dic 2004
Posts: 13
Poder: 0
GliceMan Va por buen camino
Exclamation ¿Que programa usar??

Hola, el motivo de que escriba este post, es que se me ha planteado una duda.Estoy haciendo un programa en Delphi7 y me conecto a la base de datos con Ado,estoy usando la base de datos Access.
Ahora se me pide que la base de datos este en un servidor y que los Pc´s clientes entren al servidor a consultar, añadir y borrar registros y no tengo ni idea que base de datos usar.

He leido por el foro que soleis usar Firebird,Paradox, Interbase o MsSQl Server, pero, soy novato en este tema y no se por donde empezar.

En primer lugar me gustaria que me aconsejaraís que programa es mejor, para empezar a manejar este tipo de bases de datos.Por que ya os digo, que no los he visto en mi vida.Y en caso de que sea muy complicados de usar(No se si se usaran igual que el Access, supongo que no)¿Donde puedo encontrar un tutorial?

Gracias por vuestra ayuda.
Responder Con Cita
  #2  
Antiguo 31-01-2005
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.286
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 GliceMan
...me conecto a la base de datos con Ado,estoy usando la base de datos Access. Ahora se me pide que la base de datos este en un servidor y que los Pc´s clientes entren al servidor a consultar, añadir y borrar registros y no tengo ni idea que base de datos usar.
Bueno, que sepas que inicialmente, tu configuración actual puede valer (más o menos) dependiendo del tipo de accesos/nivel de trabajo/ tipo de operaciones/... que utilices; No es la más óptima ni mucho menos, ya que Access (al igual que otras Bases de Datos de escritorio) no está pensado para trabajar con ésta configuración, pero sí que funciona; Para hacer la prueba basta con que pases tu Base de Datos (el MDB) al servidor y cambies el path en el componente de conexión.

Puedes ponerlo a trabajar a ver qué problemas te da; Lo más común es que puedas tener problemas de bloqueos; O Tal vez no, yo tengo un par de aplicaciones con ésta configuración (con 4 o 5 PC's y nivel de trabajao bajo -muchas consultas y pocos cambios- y la verdad es que en 2 años no he tenido ninguna queja). Todo depende, como ya te he dicho, número de estaciones, carga de trabajo,...

Cita:
Empezado por GliceMan
...
He leido por el foro que soleis usar Firebird,Paradox, Interbase o MsSQl Server, pero, soy novato en este tema y no se por donde empezar...
Bueno, si la solución de Access no es viable, y decides cambiar de Base de Datos, debes saber que el siguiente paso es un SGBD (una Base de Datos que tenga estructura Cliente-Servidor), por lo tano debes descartar Paradox (de la lista); De las otras que has puesto en la lista, FireBird y Interbase parten del mismo nucleo, sólo que FireBird es abierto/gratuíto y InterBase es de pago, por lo tanto yo descartaría el segundo.
__________________
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
  #3  
Antiguo 31-01-2005
GliceMan GliceMan is offline
Miembro
 
Registrado: dic 2004
Posts: 13
Poder: 0
GliceMan Va por buen camino
Gracias Neftalí, he provado asi como dices y si que me funciona, ahora se me plantea otra duda, como puedo hacer un instalador y que me pida:

En primer lugar si quiero trabajar en Red.

Luego si la respuesta es si que me pida la ruta donde quiero guardar mi base de datos, y me la pase a mi AdoConecttion.

No se si lo que pretendo se puede hacer, pero, si se puede me vendria de lujo,por que ya tengo el programa casi terminado.

PD:uso InstallShield

Un Saludo y muchas gracias.

Última edición por GliceMan fecha: 31-01-2005 a las 13:44:08.
Responder Con Cita
  #4  
Antiguo 31-01-2005
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.286
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 GliceMan
En primer lugar si quiero trabajar en Red.
Luego si la respuesta es si que me pida la ruta donde quiero guardar mi base de datos, y me la pase a mi AdoConecttion.
Para generar un Instalador, mira Inno Setup es de los mejores y gratuíto; Además hay bastante documentación.
Inno Setup

Puedes personalizar la instalación de Inno para que te haga esas preguntas; Puedes utilizar una utilizdad exyterna llamada "Inno setup form Designer" que justo te sirve para añadir formaularios personalizados al programa de instalación.
Inno setup form Designer

La única pega a lo que comentas (y que no se puede hacer) es que se aigne la ruta de la Base de Datos a tu ADOConnection, entre otras cosas pq tu programa ya está compilado y no puedes modificar esa información. Simplemente hay que enfocarlo de otra forma. Deberías modificar tu programa para que leyera la conexión de un TXT o que la primera vez que se ejecute pida la ubicación de la Base de Datos (por ejemplo...).
__________________
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
  #5  
Antiguo 01-02-2005
GliceMan GliceMan is offline
Miembro
 
Registrado: dic 2004
Posts: 13
Poder: 0
GliceMan Va por buen camino
Hola Neftalí, he probado el Ino Setup y me ha gustado mas que el InstallShield, es sencillo de usar, y da una presentación del instalador muy elegante, pero se me plantean 2 dudas:

Estoy intentando hacer un formulario con el ino setup form designer para que me pida un número de Serie, lo he creado de la siguiente manera:

[code]
Código:
function ScriptDlgPages(CurPage: Integer; BackClicked: Boolean): Boolean;
var
Next: Boolean;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
{ PASTE THE DECLARATIONS HERE }
begin
if (not BackClicked and (CurPage = wpWelcome)) or
	 (BackClicked and (CurPage = wpPassword)) then
begin
	DlgPagesClearCustom();
{ Label1 }
Label1 := TLabel.Create(WizardForm);
with Label1 do
begin
Parent := WizardForm;
Left := 32;
Top := 112;
Width := 67;
Height := 13;
Caption := 'Nº DE SERIE:';
Font.Color := -16777208;
Font.Height := -11;
Font.Name := 'Times New Roman';
Font.Style := [fsBold];
end;
{ Label2 }
Label2 := TLabel.Create(WizardForm);
with Label2 do
begin
Parent := WizardForm;
Left := 128;
Top := 112;
Width := 19;
Height := 13;
Caption := ' - ';
end;
{ Label3 }
Label3 := TLabel.Create(WizardForm);
with Label3 do
begin
Parent := WizardForm;
Left := 192;
Top := 112;
Width := 16;
Height := 13;
Caption := ' - ';
end;
{ Label4 }
Label4 := TLabel.Create(WizardForm);
with Label4 do
begin
Parent := WizardForm;
Left := 256;
Top := 112;
Width := 16;
Height := 13;
Caption := ' - ';
end;
{ Edit1 }
Edit1 := TEdit.Create(WizardForm);
with Edit1 do
begin
Parent := WizardForm;
Left := 104;
Top := 112;
Width := 25;
Height := 21;
MaxLength := 3;
TabOrder := 0;
end;
{ Edit2 }
Edit2 := TEdit.Create(WizardForm);
with Edit2 do
begin
Parent := WizardForm;
Left := 144;
Top := 112;
Width := 49;
Height := 21;
MaxLength := 5;
TabOrder := 1;
end;
{ Edit3 }
Edit3 := TEdit.Create(WizardForm);
with Edit3 do
begin
Parent := WizardForm;
Left := 208;
Top := 112;
Width := 49;
Height := 21;
MaxLength := 4;
TabOrder := 2;
end;
{ Edit4 }
Edit4 := TEdit.Create(WizardForm);
with Edit4 do
begin
Parent := WizardForm;
Left := 272;
Top := 112;
Width := 25;
Height := 21;
MaxLength := 2;
TabOrder := 3;
end;
 
	{ PASTE THE IMPLEMENTATION HERE }
if((edit1.text='***')and(edit2.text='*****')and(edit3.text='****')and(edit4.text='**'))then
Begin
	Next := DlgPageProcessCustom();
end
else
Begin
ShowMessage('El Nº DE SERIE introducido no es valido');
end;
	if not BackClicked then
	 Result := Next
	else
	 Result := not Next;
	ScriptDlgPageClose(not Result);
end
else
	Result := True;
end;
Pero me da errores en los ScriptDlgPage y no se por que, por que la implementación la he copiado de la documentación lo unico que he puesto yo es el If.

Otra cosa es que no se como coger la ruta donde guarde el usuario la base de datos y guardarmela en un Txt para asi poder cargarsela al Adoconnection al inicio del programa.

Un Saludo.

Última edición por GliceMan fecha: 01-02-2005 a las 13:39:08.
Responder Con Cita
  #6  
Antiguo 01-02-2005
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.286
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 GliceMan
...Otra cosa es que no se como coger la ruta donde guarde el usuario la base de datos y guardarmela en un Txt para asi poder cargarsela al Adoconnection al inicio del programa
Yo en principio optaría por la otra opción, es la más sencilla (y te olvidas de realizar ese trabajao en la instalación); Piensa en un TXT de conexión en el directorio de tu app. (por ejemplo); Si al arrancar la aplicación el TXT no está pues lo pides; Así, al arrancar la primera vez tu aplicación te pedirá el TXT de conexión; Una vez introducidos los datos y creado el TXT, lo guardas en disco y cierras la aplicación y la vuelves a abrir.
__________________
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 01-02-2005
GliceMan GliceMan is offline
Miembro
 
Registrado: dic 2004
Posts: 13
Poder: 0
GliceMan Va por buen camino
Gracias de Nuevo Neftalí, lo de cerrar mi aplicación se hacerlo, pero,¿como la vuelvo a abrir sin que el usuario toque nada?

Perdona mi ignorancia,pero, es que estoy bastante pez en esto de las bases de datos,bueno y la programación en general.

Y si no es mucho molestar cuantos registros puede llegar a almacenar un base de datos Access, lo digo por que el usuario en poco tiempo me ha metido 500 registros y me da miedo que se me quede pillada la base de datos.

En caso de que no sean muchos más ¿a que base de datos me recomiendas que la migre?

Gracias y perdona que te moleste tanto.

Un saludo.

Última edición por GliceMan fecha: 01-02-2005 a las 15:50:30.
Responder Con Cita
  #8  
Antiguo 01-02-2005
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.286
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 GliceMan
lo de cerrar mi aplicación se hacerlo, pero,¿como la vuelvo a abrir sin que el usuario toque nada?
Una primera opción es la "manual"; El típico mensajito que le aparece al usuario diciendo "Los cambios realizados no tendrán efecto hasta que reinicie la aplicación..."; Sí ya se que no es muy sofisticado... La segunda opción (hacerlo de forma automática) requiere un pequeño ejecutable auxiliar que arranca tu aplicación; Lo que hace tu aplicación antes de cerrarse es llamar a éste ejecutable y luego se cierra; éste ejecutable lo único que debe hacer es una pequeña espera (para dar tiempo a que la anterior instancia se cierre) y luego abrir tu aplicación (ShellExecurte, WinExec o similar).

Cita:
Empezado por GliceMan
Y si no es mucho molestar cuantos registros puede llegar a almacenar un base de datos Access, lo digo por que el usuario en poco tiempo me ha metido 500 registros y me da miedo que se me quede pillada la base de datos.
Bueno, debería hacer una estimación del número de registros que puede llegar a almacenar la tabla de Access; Es un cálculo simple, estima por ejemplo cuantos registros pueden crearse al cabo de 20 años (no creo que tu aplicación tenga una vida tan larga, pero así te aseguras...)
Piensa que una tabla Accces puede llegar a un tamaño de 2 GB (si divides eso por el tamaño de tu registro obtendrás el número); Pero ya te comento, que no deberías tener problemas ta¡rabajando con un orden de "MILES" de registros.
__________________
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
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


La franja horaria es GMT +2. Ahora son las 05:06:58.


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