Crear Base de Datos, y Actualizarla on-line

Iniciado por Skeletron, 3 Septiembre 2009, 21:19 PM

0 Miembros y 2 Visitantes están viendo este tema.

Skeletron

#10
Simplemente tengo que hacer lo siguiente:
En el programa, miro la version de la base de datos.. en caso de estar desactualizada (comparando con la base de datos en el hosting) descargaría las nuevas entradas...

Y en el programa, tengo que leer las entradas...
Cada entrada es una efemeride.. y tengoq eu mostrar las efemerides pro dia...
Descargate al programa VIDAy de mi web: www.brodasoft.com.ar
Luego mira en C:/Brodasoft/DataBase y mira que hay 12 carpetas (por cada mes) y 31 archovos de texto por cada dia.. dentro de cada archivo, por cada linea, se considera una efemeride..
Sería mucho mas facil agregar una base de datos SQLLITE al .exe y acabados los problemas de arministrador o no administrador y velocidad :D :)

^Tifa^

Ventajas entre elegir si SQLite o SQL Server Express?

Pues SQLite es 1 sola libreria de pocos kilobytes que si la embebes dentro del codigo de tu aplicacion puedes portar tu aplicacion sin necesidad de descargarte JDBC o librerias 'extras' requeridas por ejemplo en SQL Server para poder tu aplicacion funcionar, esto sin contar que tu programa ademas de requerir ciertas librerias extras, hay algunas DB donde requieres el cliente de la DB para funcionar (No se si aplica con SQL Server pero si hay algunas bases de datos relacionales que requieren esta funcionalidad como Oracle, sino utilizas el API de Oracle OCCI que es bastante complejo y solo valido para C)

Pero el tema aca es SQL Server. Yo en tu lugar eligiese SQLite, por su poco requerimientos, portabilidad (Tiene capacidad de funcionar perfectamente con variados lenguajes scripting y compilados bajo 1 solo modulo, mientras no ocurre lo mismo con SQL Server el cual por ser privativo complica mas el asunto a la hora de portarlo a distintos lenguajes tu aplicacion), tamanio, facilidad y sobretodo por su licencia, no es lo mismo ni es igual.  ;)

Skeletron

Es gratuito SQL Lite?
Alguien tiene algun tutorial para implementarlo en VB.Net?

^Tifa^

SQL Lite tiene licencia de dominio publico, lo cual lo hace disponible para cualquier uso de cualquier tipo sin restriccion alguna  ;)

acerca de tutoriales entre SQLite y Net, hay muchos en google, un poco de busquedad no te haria nada mal.

raul338

ahora que lo pienso, solo necesitas actualizar la base de datos??......entonces no necesitas ClickOnce, y te conviene usar SQLite

Primero, usas una tabla con un unico registro que te de la version de la base de datos. Cuando inicias el programa, lo comparas en internet y si el de este es mayor preguntas si lo quieres descargar. Todo esto es posible en el .net Framework!!!!!!! (mas info: busca webrequest y webresponse en google)

seba123neo

yo creo que con Access te sobra, cuantos registros puede haber ?, porque me parece que hacerle instalar a alguien el framework 3.5 y el servidor de SQL Server es demasiado para un programa de efemerides, hay sistema de gestion que estan realizados con archivos de texto y funcionan bien, imaginate cuando tengas que ahcer un ssitema de gestion de verdad ¿que vas a hacer? ¿ le vas a pedir la computadora de la NASA ?  :xD
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Skeletron

Cita de: raul338 en  8 Septiembre 2009, 01:30 AM
ahora que lo pienso, solo necesitas actualizar la base de datos??......entonces no necesitas ClickOnce, y te conviene usar SQLite

Primero, usas una tabla con un unico registro que te de la version de la base de datos. Cuando inicias el programa, lo comparas en internet y si el de este es mayor preguntas si lo quieres descargar. Todo esto es posible en el .net Framework!!!!!!! (mas info: busca webrequest y webresponse en google)

Es que el Software tambien se tiene que poder Actualizar!!!

Foxy Rider

más o menos lo que te dije acá : http://foro.elhacker.net/net/como_enviar_un_datos_a_una_aplicacion_cliente-t247710.0.html%3Bmsg1195144
podés tener un archivo txt que tenga las version de la base de datos actual y del software ...
y en caso de ser necesario, descargás y actualizás...

las formas más sencillas son ....  usando un txt en tu server que contenga el MD5 de la base de datos (total, si no cambia ...) o simplemente guardando dentro de la base de datos (o el registro de win) la versión actual y comparándola con la remota ...

la base de datos que sugiero, repito, es SqLite, te va de 10 ...
eso más la librería de compresión que puse en el link al thread ese ... (para no tomar tanto badwidth en las actualizaciones)

Saludos ~

raul338

Cita de: Skeletron en  8 Septiembre 2009, 03:06 AM
Cita de: raul338 en  8 Septiembre 2009, 01:30 AM
ahora que lo pienso, solo necesitas actualizar la base de datos??......entonces no necesitas ClickOnce, y te conviene usar SQLite

Primero, usas una tabla con un unico registro que te de la version de la base de datos. Cuando inicias el programa, lo comparas en internet y si el de este es mayor preguntas si lo quieres descargar. Todo esto es posible en el .net Framework!!!!!!! (mas info: busca webrequest y webresponse en google)

Es que el Software tambien se tiene que poder Actualizar!!!

Para actualizar la bd Vertex.Symphony ya te dio una de las tantas ideas que te estamos dando. Para actualizar el software: la forma mas simple es como el CCleaner: Avisar que hay una nueva version ¿Desea ir a la web para descargarlo? ( si se pone si se cierra), O mas al estilo WLM que hay que obligarlo a bajar la nueva verision compatible para entrar jejeje

Skeletron

Se me acaba de Ocurrir un problem BASTATE grave creo...

Si yo a la base de datos SQLLite  de cada programa, la tengo como "recurso".. al actualizarse el programa, se me reestablecerá la base de datos a 0... y eso no lo queremos :D
Entonces, NO PUEDO TENER a la base SQLLite como recurso.. sino, que la tengo que tener en una carpetita, al lado del .exe de la aplicacion.. Pero.. con ClickOnce, no se donde se instala la aplicacion.. gran problema...
Alguien me da una idea???


Mi idea sería así:
en mi programa principal, tendré 1 variable que va a identificar la version de la base de datos...
Como la base de datos se dividirá por MESES.. en realidad, será un array con 12 valores de version.. 1 por cada mes..
Y en cuanto a la actualizacion del software, no hay problemas, de eso se encarga ClickOnce
En cuanto al manejo de la base de datos: Tendré que saber donde está, para pdoer actualizarla.. PERO no tiene que ser parte del .exe, proque con cada actualizacion de ClickOnce, se volveran los datos a 0..

Ahora bien: otra pregunta:
Una vez instalado el programa.. cuando intente acceder a la base de datos que estará en "./nombre_de_la_BasedeDatos": ¿Me dará algun error de privilegios?