Tabelas Criadas no Mysql não permitem edição. [RESOLVIDO]

1. Tabelas Criadas no Mysql não permitem edição. [RESOLVIDO]

Luiz Carlos
luizcarlos18rj

(usa Suse)

Enviado em 07/10/2014 - 11:28h

Oi galera, sou novo no mundo Linux estou num projeto que tá me dando muito trabalho e preciso da ajuda de vcs.

Tinhas sistemas completos feitos em M$ Access com tabelas, consultas, relatórios, macros, formulários e módulos, com Back e front ends e tabelas vinculadas, só que houve a necessidade de migrar esses sistemas para software livre e eu fiquei com a responsabilidade de tal migração aí começou meu calvário.

1 - Tenho conhecimento razoável em Access para criar, gerenciar e manter sistemas de nível médio, mas nunca programei para web com php e similares, por causa disso tentei portar os sistemas em access para o Libre office Base.

2 - Após muito trabalho, consegui um sistema completo em LibreOffice Base também com tabelas, consultas, formulários, relatórios e módulos programados em OoBasic ( não mais em VBA), ams na hora de "vincular tabelas" descobri que o Libre office não possui esse recurso, mas vi que ele se conecta a vários tipos de SGBDS contanto que sejam um serviço de banco de dados.

3 - Nisso aprendi como usar o XAMPP para instalar numa máquina que será usada de servidor de BD Linux ( Oracle Linux ) para ter nele rodando o apache + Mysql + PhpMyadmin, instalei configurei, dei perrmissões e consigo acessar o phpmyadmin de qualquer host na rede.

4 - Migrei as tabelas isoladas localmente no arquivos .odb do Libreoffice Base para o Mysql, utilizando o Libreoffice Calc como intermediário, pois ele gerava arquivos .CSV e com os mesmos importei para o mysql.

5 - Dessa forma refiz os arquivos .odb de modo a se conectar a essas tabelas já com campos e valores pré-formatados e preenchido com dados através do drive jdbc do Mysql, nisso coloco o ip do server, usuário mysql e senha, a conexão é estabelecida com sucesso.

6 - Só que reparei que mesmo dando superpoderes ao usuário criado ( tanto o root do mysql quando o usuário novo criado só para manipular o serviço ) as tabelas não são possíveis serem "editadas", não consigo inserir um novo registro nem salvar as alterações nos dados como se estivessem trancadas, se eu usar o phpmyadmin pelo browser de qualquer host na rede eu consigo sim, incluir um registro ou alterá-lo, mas o que me interesse são as tabelas serem editáveis pelo Libreoffice Base, alguém aqui já passou por isso e pode me dar uma luz?

Desde já agradeço...

Luiz


  


2. Re: Tabelas Criadas no Mysql não permitem edição. [RESOLVIDO]

Esli Silva
eslih

(usa Debian)

Enviado em 07/10/2014 - 12:09h

Olá,
Cara, sinceramente (apesar de usar há quase 6 anos o LibreOffice/OpenOffice) e quase 10 o GNU/Linux, nunca fiz essa integração. Hoje trabalho, entre outras coisas, com bancos MySQL.. vou tentar criar um ambiente assim para ver se enfrento este 'stress' (e aprender também)...

Mas fazendo uma pesquisa simples pelo google, achei alguém que teve o mesmo problema que você. Porém o erro dele foi não ter definido uma PRIMARY KEY na tabela do database.
ALTER TABLE 'nome_da_tabela' ADD PRIMARY KEY ('nome_da_coluna');
(não sei se pode ser o seu caso..., outro havia gerado inconsistência nos dados quando importou do access, definiu uma coluna primary key como 'unique' mas havia dados repetidos e NULL em alguns campos onde deve ser NOT NULL, mas aí, já entra em erros de dados no banco)

http://en.libreofficeforum.org/node/8696
http://ask.libreoffice.org/en/question/20850/libreoffice-base-can-open-mysql-but-not-insert-new-reco...
http://www.linuxuser.co.uk/tutorials/make-a-small-business-database-with-libreoffice
http://ask.libreoffice.org/en/question/13348/cannot-add-records-to-a-database/


3. Valew mesmo pela dica!!!

Luiz Carlos
luizcarlos18rj

(usa Suse)

Enviado em 07/10/2014 - 14:03h

E não era que foi exatamente isso?

As tabelas estavam bloqueadas quando manipuladas pelo Libreoffice Base, porque no Mysql não estavam definidas as chaves primárias!!!

Não tinha percebido isso, mas quando converti para um arquivo .CSV e importei no Mysql, não se preservou as propriedades dos campos de modo que as colunas chamas de "ID" que botei em todas as tabelas para serem meu índice ( chave primária ), não estavam apontadas para o qual.

Foi só definir as chaves primárias pelo phpmyadmin, e reiniciar o Libreoffice Base, que nos formulários já tinham liberado a opção de "inserir novo registro".

Muito obrigado mesmo pela atenção, e pela dica, nunca aprendi inglês e hj vejo que me prejudicou muito em procurar material na web, quando pesquiso no google, vou sempre em páginas em Portugues ou somente Brasile não tinah encontrado resultado satisfatório algum, mas pelos links que vc mandou, estas dicas estavam no próprio fórum da comunidade do Libreoffice em inglês, que isso me sirva de inspiração a me matricular em uma escola de idiomas.

Muito obrigado mesmo...

Luiz Carlos






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts