Criei um aplicativo aqui no NetBeands e fiz conexão com o banco de dados do Access através do ODBC do windows. blza.
Porém eu queria disponibilizar esse meu aplicativo numa pasta do servidor de modo q ele acesse ao bando de dados localizado nessa mesma pasta (p.e. z:\aplicativos\java\teste.mdb).
Não consigo achar uma solução tendo em vista que só consigo ter acesso ao bando de dados (fazendo pesquisa, inserindo e removendo dados) por causa do ODBC do windows, no qual criei o driver… desse modo se alguma outra pessoa tentasse executar o programa sem ter tbm criado o msm banco no ODBC não seria possivel executar esse aplicativo…
nao sei se fui claro, mas esse é o problema, quero disponibilizar meu aplicativo na rede usando um banco de dados access com conexao feita atraves do ODBC (ou nao).
Pois então, como eu criei o ODBC do windows em minha maquina eu temo que n seja possivel para outros usuarios da rede acessarem esse BD através do java ja que eles nao tem o ODBC pré-configurados pra isso…
sacou?
gomesrod
Olá,
Tente pesquisar algo sobre File DSN. Essa é uma forma de armazenar as configurações do ODBC em um arquivo ao invés do registry de cada máquina, e aí basta o programa saber onde está esse arquivo de configurações.
T
thingol
Eu recomendaria, antes de você tentar isso, jogar fora esse banco de dados Access e usar um servidor mesmo (MSDE ou SQL Server Express, se o banco for pequeno e você tiver uma máquina, que não precisa ser muito boa, para centralizar esses dados).
É que Access em rede simplesmente não funciona direito (ele funciona, mas não funciona direito, o que é, na minha opinião, muito pior que não funcionar); aqui na empresa um projeto naufragou (e houve muitos problemas) devido aos problemas que um banco de dados Access em rede apresentava nos clientes.
felipe_thrash
olá amigão, sobre permissões… garanta o acesso ao banco pelos usuarios que vc desejar… use as propriedades do seu arquivo… espero que seja simples assim…
mas, tb seria recomendável o uso do MySQL… pq ninguem merece o tal do Access!
T
thingol
thingol:
usar um servidor mesmo (MSDE ou SQL Server Express, se o banco for pequeno e você tiver uma máquina, que não precisa ser muito boa, para centralizar esses dados).
Eu estava mencionando esses bancos da própria Microsoft, para você não ter um trauma logo de cara, mas esqueci que eles têm limitações de número de conexões simultâneas, no caso do MSDE; no caso do SQL Server Express, as limitações são: o tamanho máximo de seu banco de dados é 4GB (que é muito maior que um banco de dados Access típico), o número de CPUs utilizado (usa só 1 mesmo que seu servidor tenha uma CPU Core 2 Duo ou coisa parecida) e a memória RAM utilizada (1GB). Acho que para quem ia usar Access o SQL Server Express já dá muito bem conta do recado.
Se você não quer coisas limitadas, e quer rodar isso em qualquer máquina que esteja encostada em um canto porque não agüenta um sistema operacional da Microsoft, arranje uma cópia do Linux e instale o MySQL
tandrade
Entendi companheiro.
Mas como eu faço para realizar a conexão com esse servidor e, consequentemente, com meu bd?
Abraços e obrigado pela ajuda de todos
T
thingol
a) Você precisaria migrar suas tabelas do Access para o SQL Server Express.
b) Para acessar esse servidor, você teria de usar o driver JDBC para SQL Server da própria Microsoft, ou então o jTDS. A string de conexão é um pouco diferente (assim como o Class.forName), mas não é nada especial.
c) Uma vantagem de usar um único servidor é que você não precisa configurar nada de ODBC.
d) E é claro, você precisa reservar uma máquina da rede para rodar o SQL Server Express.
tandrade
Opa, obrigado pela “luz” Thingol
Mas seria possivel esclarecer essas etapas com linhas de código? do tipo, o que muda no class.forname, na string = url … etc
[]'s
T
thingol
O código mesmo deve mudar pouco; você precisa retestar seu programa para ver se há alguma coisa esquisita que funciona em Access mas não funciona no banco de dados que você escolher.
O Class.forName depende do banco de dados que você escolher.
tandrade
rapaz, eu baixei aqui o SQL Server 2005 mas n sei trabalhar com ele não.
É confuso, consigo criar tabelas tranquilamente e manipulá-las no Access e no MySQL porém quando pego um servidor desses p importar essas tabelas eu n sei como proceder
Até procurei alguns tutoriais aqui mas o que vi relacionado ao SQL server 2005 já era bem avançado para mim.
T
thingol
No SQL Server 2005 há um wizard para importação de tabelas (não sei se no seu caso é o DTS que você tem de usar, ou se há um método mais simples ainda).
Uma vez que você se acostumar com ele, vai ver que ele vai lhe abrir muitas oportunidades de emprego - muita gente usa o SQL Server (2000 e 2005) por aí.
Não desista dele só porque ele parece um pouco diferente à primeira vista. Como você pôde constatar, é possível usá-lo diretamente a partir do Access, se não me engano. É só configurar corretamente o ODBC.