woensdag 25 augustus 2010

Base

Base is de database van OpenOffice.org. In de aangepaste installie van OOo kun je hem eruit laten bij de installatie. Ik werkte met Base omdat ik het interessant vond de verschillende versies van ontwikkeling te volgen. Dat heeft me verleden jaar aardig opgebroken. Twee crashes van mijn factureringssysteem. De laatste keer ben ik een week bezig geweest de zaak weer aan de praat te krijgen, maar helaas.
Toen besloten de zaak op een MySql-server te gaan draaien en met PHP toegankelijk te maken.
Maar het bleef zeuren. Want je kunt via Base ook je MySql-server aanspreken. En dat is ook wel handig af en toe.
Alleen hoe doe je dat nou??
Als beginnetje werd: deze Engelse documentatie van OOo
gebruikt.
Eerst de jdbc-connector gedownd by MySql. Naar later bleek kon ik beter de ubuntu-versie ervan gebruiken.
Dus: sudo apt-get install libmysql-java (voor debian en ubuntu).

Na installatie ervan - onthoud/noteer de map waarin - open je een OO-document of spreadsheet en gaat naar het menu Extra >> Opties >> OpenOffice.org > Java.
Klik daar op de knop Klassepad... en vul het klassepad van de .jar-file in.
Voor de zekerheid heb ik ze alledrie maar ingevoerd: /usr/share/java/mysql-connector-java.jar,
/usr/share/java/mysql-connector-java-5.1.10.jar en
/home/gebruikersnaam/downloads/mysql-connector-java-5.1.13/mysql-connector-java-5.1.13-bin.jar voor de bij MySql.com gedownloade versie. Dat zou voldoende moeten zijn.
Sluit dan iedere instantie van OOo, ook de snelstarter als die actief is!

Wanneer je nu opnieuw OpenOffice start kun je een OOo Base document maken dat zich kan verbinden met een reeds bestaande MySql-database. (De mysql-server moet dus ook lopen.)
De vragen waarmee ik toen geconfronteerd werd deden me nog eens krabben op mijn koppie.

Dan moet je goed lezen, want de gevraagde klassenaam staat in een pdf-document genaamd connector-j.pdf dat staat in de docs map van je geïnstalleerde klasse. 't Is even zoeken als je die mapnaam niet genoteerd had aan het begin. Maar goed, het staat ook in het beginnetje: com.mysql.jdbc.Driver.
Dan kun je testen...
Als je verbindt met de mysql-server wil die wel weten wie je bent en wat je wachtwoord voor de mysql-server is.
Heb je overigens niet localhost als bind-basis in my.cnf staan, maar je ip-adres, dan moet je dus geen jdbc:mysql://localhost/naamvddatabase invullen maar i.p.v. localhost je ip-adres.
En dan, dan slaak je een zucht van verlichting als die het doet.

de minister neemt geen trein

Ook al heeft minister Huizinga nog drie dagen de tijd en is er geen lijnvlucht te vinden. Zelfs een taxi was waarschijnlijk goedkoper geweest. Niet sneller, maar allah.
Dus neemt ze een privévliegtuig van € 12.000. Nu zegt ze dat het privévliegtuig privé betaald zal worden. Maar hoe controleren we dat?