como usar um arquivo MS-Access do Linux?

Estou a estudar um curso introdutório em bases de dados e um dos exercícios é trabalhar com MS-Access. No entanto, eu estou usando Linux em casa e embora eu possa usar as aulas de computador na universidade, está longe de ser conveniente (tempo aberto limitado - meu tempo de estudo é principalmente noites).

então como posso usar um ficheiro de acesso ({[[0]}) no Linux? Por uso quero dizer mudar de mesa, escrever consultas e assim por diante.

Existem ferramentas para convertê-lo para outro formato de banco de dados (mysql, postgresql ou até gadfly)?

Também que problemas posso encontrar?

Author: Jens, 2008-12-18

7 answers

Embora um pouco datado, eu tive um bom sucesso com {[[1]} que é um conjunto de ferramentas de linha de comando para acessar e converter bases de dados de Acesso para outros formatos. Usei-o para importar bases de dados para o PostgreSQL.

Se estiver a correr uma variante do Ubuntu, pode instalá-la com:

sudo apt-get install mdbtools

Ou você pode baixá-lo de Aqui.

 14
Author: codelogic, 2008-12-18 09:15:43
Se tens uma missão para trabalhar com o Access, encontra um computador do Windows e faz o teu exercício na plataforma nativa para o Access. É completamente insensato fazer qualquer outra coisa, já que você não vai aprender nada útil sobre acesso. Se a missão é usar um Jet data store, então isso é uma história diferente. E se for, então você deveria ter formulado sua pergunta de forma diferente. Eu não recomendaria usar Jet em nada além de um arquivo nativo do Windows sistema. Certamente se o projeto é realmente ler / escrever dados para um arquivo de dados do Jet então você não está realmente cumprindo a atribuição se você não está usando o Windows pelo menos como o hospedeiro ODBC.
 2
Author: David-W-Fenton, 2013-09-30 01:18:33

Da documentação: Ligação ao Microsoft Access . No entanto, isso parece indicar que você precisa de acesso rodando em uma máquina do windows e conectar via ODBC... Ver também Problemas conhecidos .

 1
Author: dsm, 2008-12-18 09:00:21
Estás sem sorte. O Access não tem equivalente real no Linux e embora O Kexi seja uma alternativa interessante que possa importar ficheiros de acesso e tenha como objectivo fornecer funcionalidades semelhantes, não usa de facto ficheiros de acesso assim que os dados são importados.

Se a sua tarefa é desenvolver uma aplicação de acesso com formulários etc, em vez de apenas usar e {[[0]} Base de dados como uma loja, então você pode tentar uma versão recente de vinho com uma versão de Acesso compatível (ver compatibilidade lista ) ou, melhor ainda, encontrar uma máquina do Windows onde você tem certeza que vai funcionar.

Para não ser esquecido, o uso de uma máquina Virtual carregada com Windows ajudá-lo-ia a alcançar a mesma coisa na sua caixa Linux.

 1
Author: Renaud Bompuis, 2008-12-19 02:26:03

Pode trabalhar com o Access através de uma ligação (ODBC ou OLEDB), desde que só tenha de gerir a dimensão "base de dados" do ficheiro (tabelas e vistas, que são chamadas de "consultas" no Access).

Logo que a ligação esteja aberta (veja aqui para cadeias de ligação), poderá enviar comandos SQL para a sua base de dados do mdb, como por exemplo (onde cn está aqui um objecto de ligação):

cn.execute "CREATE TABLE myTableName (myTable_id autoNumber, myTable_code Text, ...)"

Por favor, note que o MsAccess usa um DDL específico que se parece com o padrão T-SQL mas não é a sério. Verifique a sintaxe no MsAccess help.

Dependendo do seu banco de dados (e suas restrições, valores padrão, chaves primárias usadas, relações, regras de validação de dados, aso), o acesso Transfer pode ser fácil e direto ou pode nem ser possível. Você vai encontrar um problema cada vez que seu banco de dados implementar uma regra de acesso específico/não-padrão SQL.

Se você realmente precisa converter seus dados de Acesso para outra coisa, eu adise você para (1) exportá-lo sob MS-SQL (o livre versão vai ser ok, um assistente de upsizing está disponível no Access ou neste site), (2)use uma ferramenta como esta para gerar uma "CRIAR BANCO de dados" SQL Script, incluindo, ou não, inserções de dados, (3) utilizar este script para tentar criar o banco de dados e seus dados em outro servidor de banco de dados.

 0
Author: Philippe Grondier, 2008-12-18 10:51:30

Se a minha resposta anterior numa pergunta semelhante. É um guião para fazer isso.

Aceder automaticamente ao DB5 ao MySQL

 0
Author: Luis Melgratti, 2017-05-23 11:33:13