Ir al contenido


Foto

instalador de base de datos


  • Por favor identifícate para responder
11 respuestas en este tema

#1 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 mensajes

Escrito 29 diciembre 2014 - 09:43

Estoy desarrollando una aplicacion cliente servidor, y el servidor es un ejecutable. El caso es que podria darle al cliente el ejecutable y el cliente. Esto lo haria para no tener que llevarle la aplicacion cliente que funcione a traves de internet con el servidor en mi casa.
Inclusive el servidor y el cliente tienen archivos .ini donde tienen el ip puerto, etc

Pero el caso es como puedo darle al cliente la bd de una forma que pueda instalarla facilmente, es decir no instalar el workbench, y crear el modelo de datos? En mi casa le di acceso al usuario que hay en el servidor desde cualquier ip hacia el modelo de datos en cuestion.

Aparte el cliente quiere ver el programa en su casa tranquilo no en su oficina. Es posible?

Muchas gracias
  • 0

#2 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 29 diciembre 2014 - 10:00

Aparte el cliente quiere ver el programa en su casa tranquilo no en su oficina. Es posible?

Muchas gracias


Es posible. Puedes usar inno setup para hacer la instalación de la base de datos y creación de la misma. De esa manera le das a tu cliente el instalador para poder usar tu sistema cliente en tantas máquinas como desee.
  • 0

#3 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 mensajes

Escrito 29 diciembre 2014 - 10:08

Y con Final Builder que viene en la version de DELPHI XE2?
  • 0

#4 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 29 diciembre 2014 - 10:21

Ese no lo he usado pero debe ser posible.

Lo que puedes hacer es aprovechar la versión silenciosa del instalador de mysql: http://dev.mysql.com...msi-quiet.html  y ejecutar el script de creación de base de datos desde tu aplicación. Así para el usuario será transparente el proceso.
  • 0

#5 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 mensajes

Escrito 29 diciembre 2014 - 10:44

Ok Gracias estoy buscando en google como hacerlo con inno setup.

Muchas gracias,,
  • 0

#6 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 mensajes

Escrito 30 diciembre 2014 - 08:35

Ese no lo he usado pero debe ser posible.

Lo que puedes hacer es aprovechar la versión silenciosa del instalador de mysql: http://dev.mysql.com...msi-quiet.html  y ejecutar el script de creación de base de datos desde tu aplicación. Así para el usuario será transparente el proceso.


Y en que formato de archivo queda la base de datos, sera un mdb? o como puedo acceder a la misma, tengo que usar un gestor si o si como Navicat?
  • 0

#7 look

look

    Advanced Member

  • Miembros
  • PipPipPip
  • 418 mensajes
  • LocationLa Ceiba-Atlantida-Honduras

Escrito 30 diciembre 2014 - 08:46

si hubieses usado firebird , esta te permite embeber la base de datos sin ningun problema y bastaria con copiar y pegar la carpeta, meter todo eso en un instalador , mas simple nunca  *-) , es una de las cosas que me gustan de firebird, en fin ...

saludos!
  • 0

#8 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 03 enero 2015 - 12:24

A ver, me parece que se están mezclando algunas cosas acá...
Primeramente se estaba dando a entender que lo que se buscaba es que el usuario pudiera instalar la aplicación cliente y éstas se conectan a una base de datos en un equipo server por medio de internet.
Pero luego de alguna forma el tema derivó a una instalación de una aplicación ¿monousuario?  ^o|

Pongamos las cosas en orden... Creería que lo que en realidad se busca es que el cliente pueda instalar en un equipo servidor la base de datos en sus propio lugar seguro y luego poder disfrutar de tantas aplicaciones clientes ya sea en la oficina, en la casa (o donde más le interese) que acceda a este servidor.

Repasemos que dice el modelo cliente-servidor: Un equipo servidor que responde a peticiones de N clientes. No existe lo que mal llaman un ejecutable servidor... Será en todo caso una aplicación dispuesta en dicho equipo para administrar/configurar la base de datos y/o demás recursos compartidos entre los clientes. Los clientes son los equipos en donde se instalarán la aplicación final que hará uso y explotará a la base de datos que el server aloja.

Ahora si, de nuevo ¿Que es lo que se desea conseguir?

Saludos,
  • 0

#9 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 mensajes

Escrito 03 enero 2015 - 09:14

A ver, me parece que se están mezclando algunas cosas acá...
Primeramente se estaba dando a entender que lo que se buscaba es que el usuario pudiera instalar la aplicación cliente y éstas se conectan a una base de datos en un equipo server por medio de internet.
Pero luego de alguna forma el tema derivó a una instalación de una aplicación ¿monousuario?  ^o|

Pongamos las cosas en orden... Creería que lo que en realidad se busca es que el cliente pueda instalar en un equipo servidor la base de datos en sus propio lugar seguro y luego poder disfrutar de tantas aplicaciones clientes ya sea en la oficina, en la casa (o donde más le interese) que acceda a este servidor.

Repasemos que dice el modelo cliente-servidor: Un equipo servidor que responde a peticiones de N clientes. No existe lo que mal llaman un ejecutable servidor... Será en todo caso una aplicación dispuesta en dicho equipo para administrar/configurar la base de datos y/o demás recursos compartidos entre los clientes. Los clientes son los equipos en donde se instalarán la aplicación final que hará uso y explotará a la base de datos que el server aloja.

Ahora si, de nuevo ¿Que es lo que se desea conseguir?

Saludos,

Perdona delphius por no expresarme bien, el cliente es la persona a la que le vendo el programa: quiero que lo pruebe en su casa, o aunque fuera en su oficina: como hago para instalarle la bd y el server, para no configurar todo a medida que lo voy haciendo y se lo voy llevando.

Se puede hacer con InnoSetup por ejemplo... Lo que me faltaria seria poder trasladar datos de prueba
  • 0

#10 giulichajari

giulichajari

    Advanced Member

  • Miembros
  • PipPipPip
  • 477 mensajes

Escrito 14 enero 2015 - 08:39

Ese no lo he usado pero debe ser posible.

Lo que puedes hacer es aprovechar la versión silenciosa del instalador de mysql: http://dev.mysql.com...msi-quiet.html  y ejecutar el script de creación de base de datos desde tu aplicación. Así para el usuario será transparente el proceso.


Encontre esto:



delphi
  1. [Setup]
  2. ; NOTE: The value of AppId uniquely identifies this application.
  3. ; Do not use the same AppId value in installers for other applications.
  4. ; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
  5. AppId={{E45AD0E5-5B1E-4AF6-8179-F6885B3B70FA}
  6. AppName=Gestionferretera
  7. AppVersion=1.0
  8. ;AppVerName=Gestionferretera 1.0
  9. AppPublisher=CARUSO
  10. DefaultDirName={pf}\Gestionferretera
  11. DefaultGroupName=Gestionferretera
  12. OutputDir=D:\Documents and Settings\Administrador\Escritorio
  13. OutputBaseFilename=setupferretera
  14. Compression=lzma
  15. SolidCompression=yes
  16.  
  17.  
  18. [Languages]
  19. Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"
  20.  
  21. [Tasks]
  22. Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
  23. Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked; OnlyBelowVersion: 0,6.1
  24.  
  25. [Files]
  26. ;Ruta de la carpeta donde tengo MySQL
  27. Source: "C:\mysql\*"; DestDir: "{sd}\MySQL"; Flags: ignoreversion recursesubdirs createallsubdirs
  28. Source: "C:\cliente sucursal\Win32\Debug\Project1.exe"; DestDir: "{app}"; Flags: ignoreversion
  29. Source: "C:\loadDB.bat"; DestDir: "{app}"; Flags: ignoreversion
  30.  
  31. [Run]
  32. ;Instalamos servicio de MySQL
  33. Filename: "{sd}\MySQL\bin\mysqld.exe"; Parameters: "--install MySQL";
  34. ;Lo arrancamos
  35. Filename: "net.exe";  Parameters: "START MySQL";
  36. Filename: "{app}\loadDB.bat"
  37.  
  38. [UninstallRun]
  39. ;Lo paramos
  40. Filename: "net.exe";  Parameters: "STOP MySQL";
  41. ;Lo eliminamos
  42. Filename: "{sd}\MySQL\bin\mysqld.exe"; Parameters: "--remove MySQL";
  43.  
  44. [UninstallDelete]
  45. Name: {sd}\MySQL\*; Type: filesandordirs



Como veran ejecuta un .bat:



delphi
  1. cd /d C:\Program Files\MySQL\MySQL Server 5.1\bin
  2.  
  3. mysql -uroot -padmin -e "create database ferreteracentral;"
  4.  
  5. mysql -uroot -padmin mydatabase < "C:\ferretera central.sql"



Entonces se requiere:

Tener la version desatendida offline de mysql en el C de la computadora de mi cliente.
Tener el archivo .bat en el C de la computadora de mi cliente.

Y ademas se pueden agregar los inserts de algunos datos! esto serviria para probar realmente la aplicacion.

Otra alternativa para no tocar la pc del cliente (puede ser mejor), es un pendrive con mysql portable, y llevar el server y el cliente, aunque esta opcion deberia probarla.

El cliente ve la aplicacion y devuelve el pendrive, uno hace cambios y el pen va y viene.
  • 0

#11 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4.945 mensajes
  • LocationMéxico

Escrito 14 enero 2015 - 09:23

Excelente amigo, gracias por retroalimentar
  • 0

#12 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 mensajes
  • LocationMisiones, Argentina

Escrito 14 enero 2015 - 03:35

Y sí, la automatización es la solución, ya que al menos los sistemas del lado del cliente que usan MySQL se instalan así.

Sin ánimo de ser un tarado y preguntar fuera de lugar (es que no quiero iniciar un hilo por solo esto):
MariaDB tiene una opción de instalación automatizada como la de MySQL.
El asunto es que MySQL terminará siendo cada vez más parecido a Oracle en cuanto a su política de distribución. Solo es por eso (es solo mi apreciación).

Saludos

  • 0




IP.Board spam blocked by CleanTalk.