COMPILAR COM BANCO DE DADOS JUNTO
Olá a todos!
Finalizei hoje meu primeiro projeto em VB 2008 no qual possui um banco de dados em Access.
Minha dúvida é a seguinte: Quando vou compilar este programa, o banco de dados não vai junto na pasta Bin. Neste caso preciso que ele vá junto para para que o usuário realize seus cadastros.
Alguma sugestão para compilar o banco junto?
Finalizei hoje meu primeiro projeto em VB 2008 no qual possui um banco de dados em Access.
Minha dúvida é a seguinte: Quando vou compilar este programa, o banco de dados não vai junto na pasta Bin. Neste caso preciso que ele vá junto para para que o usuário realize seus cadastros.
Alguma sugestão para compilar o banco junto?
Mude sua string indicando ao fica o banco exemplo Dim appPath As String = Application.StartupPath() depois e so jogar o [Ô]banco[Ô] pois acess nao e banco, dentro da pasta principal pronto aonde o projeto for executado ele sempre vai buscar na pasta do .exe....
Imagens anexas exemplificando
Ou ao inves de fazer tudo isso ai... de cima e so muda a string de conexao para isso...
Dim appPath As String = Application.StartupPath()
Provider=Microsoft.ACE.OLEDB.12.0;Data Source= appPath & [Ô]C:\myFolder\myAccessFile.mdb[Ô]
Ficaria algo parecido com isso...
Dim appPath As String = Application.StartupPath()
Provider=Microsoft.ACE.OLEDB.12.0;Data Source= appPath & [Ô]C:\myFolder\myAccessFile.mdb[Ô]
Ficaria algo parecido com isso...
Pense em um detalhe MUITO importante: Se você colocar o banco de dados também nas atualizações, você corre um grande risco de sobrepor o banco de dados do cliente. Pense nisso.
Citação::
Pense em um detalhe MUITO importante: Se você colocar o banco de dados também nas atualizações, você corre um grande risco de sobrepor o banco de dados do cliente. Pense nisso.
Mas se ele utilizasse [Ô]Copy If Newer[Ô]? Desde que não altere o banco de dados [Ô]virgem[Ô], o banco do cliente não seria subscrito.
Por outro lado, novos campos e tabelas terão que ser criados via código, mas isso é fácil de se fazer.
Citação::
Ou ao inves de fazer tudo isso ai... de cima e so muda a string de conexao para isso...
Dim appPath As String = Application.StartupPath()
Provider=Microsoft.ACE.OLEDB.12.0;Data Source= appPath & [Ô]C:myFoldermyAccessFile.mdb[Ô]
Ficaria algo parecido com isso...
Alterar a string de conexão é importante para deixar o acesso ao banco dinâmico. Porém, só isso não resolveria.
Pelo que entendi, ele quer que o banco seja posto na pasta BIN ser enviado juntamente com o executável ao cliente. Por isso dei as instruções acima.
Opa!
Obrigado a todos pelas dicas.
Antes de ler os comentários aqui, eu testei o seguinte:
Duplo clique em app.config para abrir o código.
Logo no inicio eu removi todo o endereço que apontava para o meu banco, deixando somente [Ô]nome_do_banco.accdb[Ô]
Feito isso, salvei e depois copiei o meu banco para a pasta compilada - Bin.
Com isso, o banco passou a ser executado junto com o programa. Testei em outros computadores e funcionou.
Obrigado a todos que me ajudaram com suas respostas. Irei testar os outros métodos também.
Valeu!
Obrigado a todos pelas dicas.
Antes de ler os comentários aqui, eu testei o seguinte:
Duplo clique em app.config para abrir o código.
Logo no inicio eu removi todo o endereço que apontava para o meu banco, deixando somente [Ô]nome_do_banco.accdb[Ô]
Feito isso, salvei e depois copiei o meu banco para a pasta compilada - Bin.
Com isso, o banco passou a ser executado junto com o programa. Testei em outros computadores e funcionou.
Obrigado a todos que me ajudaram com suas respostas. Irei testar os outros métodos também.
Valeu!
Tópico encerrado , respostas não são mais permitidas