Ver Mensaje Individual
  #7  
Antiguo 13-04-2005
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.913
Reputación: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Cita:
Empezado por ale21alito
Es muy dificil migrar todos los datos de PARADOX a una base CLIENTE-SERVIDOR ?

Cambia mucho el diseño y estructura de las tablas ?

El codigo de ABM, con las consultas hay que modificarlo en su totalidad ?

Espero no tener que empezar de nuevo si lo que quiero es utilizar SQL Server o FIREBIRD.

Mil gracias por todo.

Saludos.
No es muy dificil pasar los datos y el diseño/estructura se puede sostener. La parte de acceso a datos normalmente cambia.

Ahora bien, nada impide usar un motor Sql estilo una engine local. Es perfectamente valido solo tener tablas y relaciones, sin procedimientos o triggers. Si estas empezando, considera seriamente ir derecho a Firebird, porque:

a- Igual terminaras usando un Motor Sql y el concepto con uno es similar al otro
b- No tienes que usar procedimientos almacenados, pero es bueno tener la oportunidad en caso de ser necesario
c- PARADOX es una base de datos que ya paso a la historia...
d- El despliege de la aplicacion es MUCHO mas simple. Si usas firebird embeido (ejeeeje yo digo embeido y no como se debe!) solo despliegas 1 DLL + 1 Archivo de texto, en contraste instalar la BDE es mas complejo... Y si por cualquier razon, como por ejemplo, si cuestionan que tu aplicacion no es cliente/servidor instalar Firebird normal, cambias la cadena de conexion t PRESTO ya tu aplicacion es al estilo de grandes ligas.

Ahora, supongamos que te aferras a Paradox. O igual, eventualmente te tocara usar un motor diferente al que uses al inicio, asi sea firebird. Consejos?

1- NO pongas los TDataSet en los formularios o informes. No, no lo hagas. En estos lugares solo se deben poner TDataSources y nada mas

2- Si tu aplicacion es pequeña, es Ok tener los TDataSet en un TDataModule. Pero te recomiendo que crees una unit que se ESPECIALIE en acceso a datos:

function ObtenerSql(lcSql):TDataSet

y lo enlazes por codigo a los TDataSource. Asi a) Podras abiri multiples veces el mismo conjunto de datos sin preocuparte en que el registro se mueva de lugar en los demas b) Al devolver TdataSet te aseguras que si necesitas cambiar de TTable a TClientDataSet lo haces sin esfuerzos.

3- Usa un archivo con la lista de sql y usa constantes:

const
SqlListarClientes = 'SELECT * FROM Clientes';

Asi si cambias de motor Sql existe un UNICO lugar donde hacer los cambios...
__________________
El malabarista.
Responder Con Cita