Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

b2zaina

Publicar programa em visual basic

Mensagens Recomendadas

b2zaina

Boas

Eu fiz um programa em visual basic e publiquei o num cd. Depois foi instalar o programa noutro pc e ao executa-lo ele diz me que nao encontra a base de dados.

A minha duvida é como faço para que a base de dados vá juntamente com o programa e o programa funcione direito?

Cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Depreendo que estejas a usar uma aplicação de empacotamento para criar um setup.exe ou idêntico.

Se a base de dados for um ficheiro, tipo Access, tens de incluir o ficheiro no empacotador (consulta a documentação do empacotador para saberes como fazer isso). Toma atenção que neste caso é necessário a tua aplicação saber a localização da base de dados dado que o utilizador pode instalar a aplicação em qualquer local.

Se a base de dados é uma base de dados "a sério", então tens de optar por outra estratégia, que passa pelo facto do utilizador/cliente já ter uma base de dados e deves ter um script que corre durante a instalação e que cria a base de dados. Nesta situação não te esqueças de recolher e guardar a informação de acesso à base de dados para usares depois no teu programa.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
b2zaina

eu tou a usar o publish do visual basic 2008 express edition.

Nao consegues arranjar um tutorial e que eu sou novo em programaçao e precisava muito de publicar o programa

cumps

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

VB não é a minha especialidade, pelo que sou tão capaz de arranjar um tutorial como tu.

O Google é teu amigo. :)


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tuntankamon

;)

Refazendo a pergunta, a bd vai junto com a aplicação? E já agora qual é a connection string que utilizas para aceder à bd?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
b2zaina

Sim.

E esta a connection string que te referes: Provider=Microsoft.ACE.OLEDB.12.0;Data Source='C:\Users\Tiago\Documents\PAP True\Base de Dados Pap.accdb'

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tuntankamon

Então para isso funcionar nas outras máquinas tens de meter a BD junto ao executável e connection string tem de ser alterada para:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source='Base de Dados Pap.accdb'

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
b2zaina

Acabei de experimentar. Mudei as connection strings todas para: Provider=Microsoft.ACE.OLEDB.12.0;Data Source='Base de Dados Pap.accdb' ; Depois publiquei o programa para uma pen, e pos a base de dados na pen, Instalei no outro pc, copiei a base de dados para a pasta do exe e continua dizer que nao encontra a bd. ;)

Sera que tou a fazer alguma coisa de errado? 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Tuntankamon

Deve ser do meu VB estar enferrujado...  😳

Tenta utilizar o App.Path

"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & App.Path & "\Base de Dados Pap.accdb"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
programadorvb6

Vê lá se este exemplo te ajuda.

No módulo

Option Explicit
Public Cnn1 As New ADODB.Connection
Public Rs1 As New ADODB.Recordset

'//=====================================
'=======================================

Public Sub AbrirConexao1()
    Set Cnn1 = New ADODB.Connection
    Cnn1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Funcionarios.mdb" '& ";Persist Security Info=False"
    'A linha abaixo faz a conexão com uma banco access com senha
    'Cnn.Properties("Jet OLEDB:database Password").Value = "123456"
    Cnn1.Open 'Abre o banco
End Sub
'//=====================================
'=======================================

Public Function AbrirRs1(TabSql1 As String)
    'TabSql pode ser o nome da Tabela ou Instrução Sql
    Rs1.CursorLocation = adUseClient
    Rs1.Open TabSql1, Cnn1, adOpenKeyset, adLockPessimistic
    
End Function

'//=====================================
'=======================================
Public Sub FecharRs1()
    If (Not Rs1 Is Nothing) Then
        If Rs1.State = 1 Then
            Rs1.Close
        End If
            Set Rs1 = Nothing
    End If
End Sub
'//=====================================
'//=====================================
'=======================================
Public Sub FecharConexao1()
    If (Not Cnn1 Is Nothing) Then
        If Cnn1.State = 1 Then
            Cnn1.Close
        End If
            Set Cnn = Nothing
    End If
End Sub
'//=====================================

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.