• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pebat

Visual Basic 2008 - Caminho relativo da base de dados

17 mensagens neste tópico

Boas...

  Tou como uma duvida.

  É o seguinte, no Vb 6.0 nos para darmos o caminho relativo que alguma objecto usavamos o App.Path "ficheiro " e o programa abria o ficheiro se o msm se encontra-se no directorio ou na pasta onde ele estava...

    E como e que se faz isso agora em Visual Basic . net e que eu ja tentei o msm comando e ele nao da, :S queria o usar para abrir um base de dados, visto que o programa da base de dados e para andar numa pen, e nunca tem a msm letra de identificação nos varios computadores em que vai ser inserida.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso que estás a dizer é o caminho absoluto, ou seja, App.Path & "ficheiro" é traduzido para "c:\pasta\onde\esta\o\programa\ficheiro", o caminho completo. O relativo é em relação ao directório corrente.

Já experimentaste colocar só o nome da base de dados na ligação? isto assumindo que está na mesma pasta.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por exemplo, entando eu a programar uma aplicação .NET no meu Pc quando a tiver de a entregar aquelas ligações que fiz á minha BD c:/user/pasta/projecto/bd1.mdb; se gravar num cd depois nao irá funcionar noutros pc's certo?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, a não ser que o computador onde isso vai testar tenha a mesma base de dados, no caminho exactamente igual, mas é uma solução inútil, pois tens a hipótese de definir caminhos relativos.

Onde quer que a aplicação e a base de dados estejam, disco D, disco C, disco X, a aplicação sabe que a base de dados está na mesma pasta que a aplicação, usando caminhos relativos (caminho relativo à aplicação)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sim, a não ser que o computador onde isso vai testar tenha a mesma base de dados, no caminho exactamente igual, mas é uma solução inútil, pois tens a hipótese de definir caminhos relativos.

Onde quer que a aplicação e a base de dados estejam, disco D, disco C, disco X, a aplicação sabe que a base de dados está na mesma pasta que a aplicação, usando caminhos relativos (caminho relativo à aplicação)

ja agora como posso fazer isso?:S

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso que estás a dizer é o caminho absoluto, ou seja, App.Path & "ficheiro" é traduzido para "c:\pasta\onde\esta\o\programa\ficheiro", o caminho completo. O relativo é em relação ao directório corrente.

Já experimentaste colocar só o nome da base de dados na ligação? isto assumindo que está na mesma pasta.

  Como explicas-te aqui ja tinha feito e dava o erro... mas dps tomei mais atençao ao erro, o que ele pedia e que coloca-se a base de dados na pasta bin\debug e ficou a dar.. pronto.. ta mais ou menos resolvido.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

.. pronto.. ta mais ou menos resolvido.

Não há mais ou menos resolvido. Ou está ou não está.

Se corres o programa em modo debug, o programa arranca na pasta bin\debug, mas se compilas o projecto em build, o programa corre em bin\release. Tens de tomar atenção a isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Obrigado pela dica ainda nao tinha feito o build do programa, assim sendo ja sei onde colocar a base de dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja andei as voltas com isto :D isto no meu computador funciona mas assim que mudo para outro da erro... tou a testar numa maquina virtual como fose uma pen e ele da-me o seguinte erro que esta na image:

2q2pkyx.jpg

  o que tenho que fazer para ela nao aparecer :S, e que nao sei mesmo, obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Estás a usar Access 2007 e provavelemente na outra máquinas não tens os drivers OleDb necessários para funcionar.

Verifica se é isso.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Bons dias!

  Provavelmente será essa situação que estas a falar, podias me dizer como passar isso junto com aplicação, ja andei a ver nas reference, do Microsoft Visual Basic 2008 Express, e tenho as refereces do Microsoft.oleDB todas selecionadas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas tu não fizeste nenhum setup para instalar na máquina virtual, pois não? Se fizeste, de certeza que ele está a levar esses drivers com ele?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tenho um setup so que executo o setup ele nada... por isso e que estou a achar estranho isso.. eu com o vb 2005 fazia o setup ele metia td bem agora com o express nao sei o que e que se passa que ele nao mete as cenas. ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para resolver o problema, visto que nao tava a conseguir passar o Microsoft.oleDB junto com o projecto, pesquisei um bucadinho na net, que demorou algum tempo ate encontrar uma resposta mais acertada.

e sai quei um compomente que se chama 2007 Office System Driver: Data Connectivity Components do site da microsoft http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en .

Se algum tiver o mesmo problema ja sabem que com este compomente fazem a festa ;).

Obrigado desde ja a disponibilidade que me deram para ajudar a ver o erro.

0

Partilhar esta mensagem


Link 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