Difference between revisions of "FAQ (Base)"

From Apache OpenOffice Wiki
Jump to: navigation, search
Line 13: Line 13:
  
 
Everything else continues to work. In particular, you can still work with databases other than HSQLDB.
 
Everything else continues to work. In particular, you can still work with databases other than HSQLDB.
 
 
[[Category:Base Documentation]]
 
  
 
=== Can I use Microsoft Access databases (.mdb) in Base? ===
 
=== Can I use Microsoft Access databases (.mdb) in Base? ===
Line 29: Line 26:
 
=== How do I create a form with a sub form? ===
 
=== How do I create a form with a sub form? ===
 
Look [http://documentation.openoffice.org/HOW_TO/data_source/how_to_link_tables_using_named_parameters.sxw here] for an excellent document (OpenOffice.org Text Document, 850K) giving you a step-by-step description.
 
Look [http://documentation.openoffice.org/HOW_TO/data_source/how_to_link_tables_using_named_parameters.sxw here] for an excellent document (OpenOffice.org Text Document, 850K) giving you a step-by-step description.
 +
 +
=== I can access my tables with OOo, but I can't update or insert any data - why? ===
 +
 +
There are three possible reasons (counting the frequent ones only :):
 +
 +
* OOo requires a table (or, more general, the data in a row set) to contain a primary key or a a unique index to allow data manipulation. Alternatively, it suffices if the driver supports bookmarks (like some ODBC drivers or the internal dBase implementation do). <br/> The reason for this is that this is the only secure way to ensure that the changes you do affect the proper record (in case of updates), resp. that you, later on, can work with your newly inserted record.
 +
* You are using a spreadsheet, a text (CSV/TXT), or an address data source. All of these are not writable currently. It's not a bug, it's a missing feature.
 +
* OOo asks the database (it's driver, respectively) for the privileges the current user (if any) has for the table you want to access. If the driver doesn't tell that you have INSERT/UPDATE permissions, then the respective functionality is disabled in OOo. There are various drivers out there (for various databases, most often reported is MySQL) which handle the permissions improperly, and return wrong or too less privileges. Please try the latest possible driver for your database.
  
 
[[Category:Database]]
 
[[Category:Database]]
 +
[[Category:Base Documentation]]

Revision as of 13:38, 27 November 2006

Do I need Java to use Base?

Not strictly. Base is an application which enables you to access the database of your choice - this can be local databases like flat files, dBase files, server databases like MySQL, PostgreSQL, Oracle, MS SQL Server, plus every database which you have an ODBC , JDBC, or ADO driver for.

However, by default OpenOffice.org creates all-in-one database files, using the HSQLDB database engine, which in fact is a Java database. So, if you have a Java Runtime Environment (JRE) installed, OpenOffice.org Base will create an embedded HSQLDB database when you choose "Create a new database" in the "New Database" wizard (File|New|Database).

If you do not have a JRE, then the following functionality will not be available

  • You will not be able to create, or open existing, all-in-one database files which facilitate the HSQLDB engine.
  • You will not be able to run the table, query, form, and report wizard.
  • You will not be able to connect to your database if you only have a JDBC connector.

Everything else continues to work. In particular, you can still work with databases other than HSQLDB.

Can I use Microsoft Access databases (.mdb) in Base?

On Windows: yes. You cannot open them directly via File|Open, but you can access the data therein. For this, you need the Microsoft Data Access Components, which are available from Microsoft for free. (In Windows XP, they're already included, so you need them for older Windows versions only.)

Then, go to File|New|Database, choose "Connect to an existing datbase", and select the "Microsoft Access" database type from the list. On the next page, you then select the .mdb file you want to access - that's it!

Which Database Type do I use?

  • F: I'm asked which database type I use - how do I know?
  • A: If you don't know, it's probably HSQLDB. To be sure, open the database document (.odb) in OpenOffice.org, and look into the status bar at the bottom of the main window. It should read something like "HSQLDB engine", "MySQL (ODBC)" ...

How do I create a form with a sub form?

Look here for an excellent document (OpenOffice.org Text Document, 850K) giving you a step-by-step description.

I can access my tables with OOo, but I can't update or insert any data - why?

There are three possible reasons (counting the frequent ones only :):

  • OOo requires a table (or, more general, the data in a row set) to contain a primary key or a a unique index to allow data manipulation. Alternatively, it suffices if the driver supports bookmarks (like some ODBC drivers or the internal dBase implementation do).
    The reason for this is that this is the only secure way to ensure that the changes you do affect the proper record (in case of updates), resp. that you, later on, can work with your newly inserted record.
  • You are using a spreadsheet, a text (CSV/TXT), or an address data source. All of these are not writable currently. It's not a bug, it's a missing feature.
  • OOo asks the database (it's driver, respectively) for the privileges the current user (if any) has for the table you want to access. If the driver doesn't tell that you have INSERT/UPDATE permissions, then the respective functionality is disabled in OOo. There are various drivers out there (for various databases, most often reported is MySQL) which handle the permissions improperly, and return wrong or too less privileges. Please try the latest possible driver for your database.
Personal tools