none
Portabilidade - C# e MySQL RRS feed

  • Pergunta

  • Boa noite a todos.
    Tenho duas dúvidas.

    Imaginemos o cenário:
    Tenho um aplicativo que faz transações com uma base de dados MySQL.
    Até agora, essa aplicação só está funcionando em localhost. Até aí, tudo bem.
    Agora, digamos que eu tenha a necessidade de instalar esse aplicativo em algumas outras máquinas.
    1ª dúvida: Como eu poderia fazer essa conexão sem que o MySQL precisa-se estar instalado nas máquinas?
    Existe alguma forma de levar o MySQL juntamente com o pacote do programa, sem precisar instalá-lo "na mão" em cada máquina?
    2ª dúvida: Como eu posso desenvolver um instalador para minha aplicação?

    Como podem perceber, são dúvidas "bestas", mas que estou precisando de uma(ou mais de uma, hehe) solução.
    Tenho noções de desenvolvimento em .NET, entretanto, me deparo, frequentemente, com coisas desse tipo, e que por necessidade, tenho que aprender a fazer.

    Desde já, agradeço.
    Forte abraço.

    quarta-feira, 16 de fevereiro de 2011 04:15

Respostas

  • 1 - Cada máquna precisa realmente de um banco de dados ? Pois se a utilização do banco de dados não é necessária em cada máquina, você pode estar instalando o mysql em um "servidor", liberando as portas 3306 UDP e TCP, e acessar pela sua aplicação este servidor mudando a string de conexão com o mysql de localhost para o ip do servidor.  Se cada máquina necessita de um banco, acredito que só na mão mesmo.

     

    2 - Você encontra um exemplo muito bem explicado em : http://www.juliobattisti.com.br/tutoriais/herbertgois/programandocsharp025.asp

    quarta-feira, 16 de fevereiro de 2011 10:41
  • Heyuu

    Bom... vou apenas complementar o que o amigo João disse:

    1- Como o MySql se trata do banco.. você necessitaria obrigatoriamente ou ter um servidor para o acesso, ou instalar em cada máquina ( o que eu ja acho meio desnecessário, a não ser que o programa seja de um porte BEM pequeno e no local operem poucas máquinas..).... Mas, indiferentemente disso, você precisa te-lo instalado.

    2- No Visual Stúdio, tem a opão de você "PUBLICAR"seu projeto... ela já monta uma pasta com todos os aquivos e tal... da uma olhadinha lá... ou senão.... podeusar algum instalador freeware..

     

    Até!!!

    quarta-feira, 16 de fevereiro de 2011 11:36
  • @Heyuu

    Voce esta a falar de um programa que vai ser usado por varios usuarios. E base de dados vai ser unica pra todos. Entao tens de ter um computador que vai funcinar como "Servidor". Nesta maquina tu vais colocar a base de dados. 

    Assim todos podem accessar a base de dados e modificar, apagar, enserir informacoes nas tabelas. Se voce instalar a base de dados em todas as maquinas, sempre que houver modificacoes ou alteracoes na base de dados os outros usuarios nao irao ter accesso. 

    Por isso voce pode usar o Windows vista e faze-lo funcionar como server. Acho que a Microsoft esta a dar O windows Server gratuito, acho que e versao express ou beta.

     


    Just Be Humble Malange!
    quarta-feira, 16 de fevereiro de 2011 22:57
    Moderador
  • Primeiramente, obrigado pelas respostas.

    O intuito é fazer com que cada distribuição do software tenha um banco de dados próprio.
    Entretanto, seria fácil refazer algumas partes da aplicação visando um único banco de dados, onde cada usuário teria um ID e só poderia acessar as informações referentes à essa PK (ID).

    Mas o ideal, deixar cada máquina com sua própria base de dados.

    O que eu queria era "atachar" o MySQL ao instalador.
    Isso é possível (e viável) ?

    Abraço!


    http://social.msdn.microsoft.com/Forums/en-US/vsgeralpt/thread/cec15d2e-42d7-407b-9573-243f04b1f485
    Just Be Humble Malange!
    quinta-feira, 17 de fevereiro de 2011 14:25
    Moderador

Todas as Respostas

  • 1 - Cada máquna precisa realmente de um banco de dados ? Pois se a utilização do banco de dados não é necessária em cada máquina, você pode estar instalando o mysql em um "servidor", liberando as portas 3306 UDP e TCP, e acessar pela sua aplicação este servidor mudando a string de conexão com o mysql de localhost para o ip do servidor.  Se cada máquina necessita de um banco, acredito que só na mão mesmo.

     

    2 - Você encontra um exemplo muito bem explicado em : http://www.juliobattisti.com.br/tutoriais/herbertgois/programandocsharp025.asp

    quarta-feira, 16 de fevereiro de 2011 10:41
  • Heyuu

    Bom... vou apenas complementar o que o amigo João disse:

    1- Como o MySql se trata do banco.. você necessitaria obrigatoriamente ou ter um servidor para o acesso, ou instalar em cada máquina ( o que eu ja acho meio desnecessário, a não ser que o programa seja de um porte BEM pequeno e no local operem poucas máquinas..).... Mas, indiferentemente disso, você precisa te-lo instalado.

    2- No Visual Stúdio, tem a opão de você "PUBLICAR"seu projeto... ela já monta uma pasta com todos os aquivos e tal... da uma olhadinha lá... ou senão.... podeusar algum instalador freeware..

     

    Até!!!

    quarta-feira, 16 de fevereiro de 2011 11:36
  • Na verdade, os micros não terão acesso à nenhuma rede. Logo, o banco terá que ser local.
    Se ao menos existisse uma conexão entre os computadores que utilizarão o sistema, eu poderia instalar o banco em apenas um, fazendo o restante acessá-lo.

    Então pelo que entendi, não tem jeito de "levar o banco" no mesmo executável do setup da aplicação. É isso?

    Obrigado pelas respostas.

    Abraço!

    quarta-feira, 16 de fevereiro de 2011 16:45
  • @Heyuu

    Voce esta a falar de um programa que vai ser usado por varios usuarios. E base de dados vai ser unica pra todos. Entao tens de ter um computador que vai funcinar como "Servidor". Nesta maquina tu vais colocar a base de dados. 

    Assim todos podem accessar a base de dados e modificar, apagar, enserir informacoes nas tabelas. Se voce instalar a base de dados em todas as maquinas, sempre que houver modificacoes ou alteracoes na base de dados os outros usuarios nao irao ter accesso. 

    Por isso voce pode usar o Windows vista e faze-lo funcionar como server. Acho que a Microsoft esta a dar O windows Server gratuito, acho que e versao express ou beta.

     


    Just Be Humble Malange!
    quarta-feira, 16 de fevereiro de 2011 22:57
    Moderador
  • Os micros não estarão ligados em rede??

     

    Desculpe me intrometer , mas que tipo de programa é?? Talvez se soubermos, poderemos ser mais úteis.

     

     

    Um abraço!

    quinta-feira, 17 de fevereiro de 2011 09:47
  • Primeiramente, obrigado pelas respostas.

    O intuito é fazer com que cada distribuição do software tenha um banco de dados próprio.
    Entretanto, seria fácil refazer algumas partes da aplicação visando um único banco de dados, onde cada usuário teria um ID e só poderia acessar as informações referentes à essa PK (ID).

    Mas o ideal, deixar cada máquina com sua própria base de dados.

    O que eu queria era "atachar" o MySQL ao instalador.
    Isso é possível (e viável) ?

    Abraço!

    quinta-feira, 17 de fevereiro de 2011 13:25
  • Primeiramente, obrigado pelas respostas.

    O intuito é fazer com que cada distribuição do software tenha um banco de dados próprio.
    Entretanto, seria fácil refazer algumas partes da aplicação visando um único banco de dados, onde cada usuário teria um ID e só poderia acessar as informações referentes à essa PK (ID).

    Mas o ideal, deixar cada máquina com sua própria base de dados.

    O que eu queria era "atachar" o MySQL ao instalador.
    Isso é possível (e viável) ?

    Abraço!


    http://social.msdn.microsoft.com/Forums/en-US/vsgeralpt/thread/cec15d2e-42d7-407b-9573-243f04b1f485
    Just Be Humble Malange!
    quinta-feira, 17 de fevereiro de 2011 14:25
    Moderador