QA/Database

From Apache OpenOffice Wiki
Jump to: navigation, search

Database Usage Guide
A data source can be a database, spreadsheet, or text document. such as MySQL or dBase or a spreadsheet or text document holding data.

Documentation note.png Need JRE, not only JDBC but new embedded database also need JRE. Tools → Options → OpenOffice → Java

Start With Database Wizard

Database Wizard

Dbwizard.PNG

  • Embedded database
    1. Create a new database, use HSQL database as default setting(Pure Java DB)
    2. Open an existing database file, open created new database file and connect to database file.
  • External business database
    1. Connect to an existing database

Support Type

comments

JDBC

Oracle JDBC

Database url and driver class

need provide some commonly used db(provide JDBC)


Oracle JDBC, driver class is given—oracle.jdbc.driver.OracleDriver

ODBC

ODBC data source(dBase files,excel files, MS access database)

MySQL

Connect use JDBC or ODBC

Spreadsheet

Open Openoffice.org spreadsheet or MS excel in read-only mode.

LDAP address book

SeaMonkey address book

Microsoft Outlook address book

Microsoft Windows address book

Thunderbird address book

Import a address book in read-only mode

Text

Import a database in text format, Open txt, csv, custom type in read-only mode

Microsoft Access

Microsoft Access 2007

Access file

dBASE

Dbase file

ADO

ADO (Microsoft ActiveX Data Objects) database.

Adabas D


Common scenarios

Scenario 1: Create new embedded database

  1. Create a new database
  2. create table in design view,
  3. Name, type, Primary Key, format example
  4. double click created table to input data
  5. Check data from design view
  6. Create queries in SQL view(Grammar check when saving,Logical check on execution)
  7. create form from wizard(organize data with controller)
  8. create report to writer

Scenario 2: Connect to an existing database via JDBC

  1. install driver(ensure step 4 can pass)
  2. Connection URL:mysql://127.0.0.1:3306/mysqldb,
  3. Driver Class: com.mysql.jdbc.Driver
  4. click Test Class button, check driver can load correctly.
  5. Input User name, then Test Connection
  6. check load database, table ...from mysql db.
  7. Edit exist table: add column, delete column, but can't edit data record.
  8. Create new table on exist mysql database(load all database from connected db), field and data record all can be edited.
  9. Create query, form, report base on exist table and new created table.

Scenario 3: Connect to an existing database via ODBC

  1. install odbc driver

connect to db info(ensuse name in step 2 can be browsed)

  1. connect to exist database via ODBC

select name of odbc data source on system

  1. other operation like Scenario2 7)8)9)

Scenario 4: Connect to an existing Spreadsheet

  1. open spreadsheet with read-only mode, (one sheet one table)
  2. can't add table, edit table, include field definition and data record.
  3. Create query use Wizard(not easy to write sql to query Spreadsheet)
  4. create form and report base on sheet

(All changes in a spreadsheet must be made in the spreadsheet itself, using Calc. After modifying the spreadsheet and saving it, you will see the changes in the database. If you create and save an additional sheet in your spreadsheet, the database will have a new table the next time you access it.)

Scenario 5 :Connect to an existing Text

  • open text
    1. create a text like table, with field separator
    2. one text one table, can't edit table.
  • open csv(address book file)
    1. use spreadsheet to save as to a text csv file.
    2. Select folder where csv in. (one csv one table, if more csv in this folder, then will get all csv more tables)
    3. Can't add table, edit table.
  • open custom type file
  1. create a custom type file with definition separator(Field separator), filed separator have : , ; tab space


Scenario 6: Connect to an existing Microsoft Access 2007

  1. browse Access accdb file
  2. Operation like other db(can't edit data record)

Scenario 7: Connect to an existing address book(Microsoft Outlook)

auto get windows address book, but how to check address book file need deeper investigate. If have address book file also can be opened by Scenario 5

Scenario 8: Register a database and Use it.

  1. Register database automatically(The last step in Create or Connect to existing database)
  2. Register database manually,File ->Wizard->Address data source
  3. check registered database (Tools->Options->OpenOffice.org Bas->DataBases list all registered data bases. User also can remove registered databases)
  4. new Calc or Writer document
  5. View-Data Sources or F4 to pop up registered data source.
  6. Select all data then click “data to text ” button, or drag&drop table to sheet. Data from database will copy to sheet or writer.

Database design entry

Entry

Dbentry.PNG

  • Database objects: Table, Query, Form, Report
    1. fields
    2. Query: creates a new table from the existing tables based upon how you create the query
    3. Form: data entry into the fields of one or more tables associated with the form.(A simple form consists of the fields from a table . More complex forms can contain much more, including additional text, graphics, selection boxes, and many other elements.)
  • Report: organizes the information of the fields of a query in a document according to your requirements.
  • Tasks zone: List the way to create database objects.
  • Description: every task in Tasks list will activate a description.
  • Object Zone:
    1. can link to file and provide operation in context menu.
    2. support selecting entries by typing their name(focus object via keyboard, AOO3.4 Release notes)
  • Preview (none and document). If form type, will have more operation.
  • Status bar: include info about DataBase type, database name/database file path, user, IP.

Table

Create table in design view

Dbcreatetable.PNG

Field Properties: Entry Required, Auto Value, Auto-increment state, Length, Format example

  • Must have Primary Key
  • Provide shortcut of Field Type via keyboard
  • Provide Index design in Tools->Index Design

Use Wizard to create table

  • Select Fields:

Select category: Business or Personal.

  • Set types and format

Set types and format for selected fields.

Auto value is yes will pop up Auto-increment statement (auto value field must key) such as MySQL need input AUTO_INCREMENT to this statement box.

  • Set primary key
  • Create table

Create view

total same as Query Design Windows

can edit and edit in SQL view. Can't find difference with Query now. Like Database View.

Table Data view

Provide Data Filter and Data Statistics

Tabledataview.PNG

Relation

Tools->Relationships to pop up Relationship Design Window

Relation.PNG


Drag and Drop or Insert->New Relation...

Newrelation1.PNG

Newrelation2.PNG

Query

Create query in design view

Field, Alias,Table,Sort,Visible

Createquery.PNG

Function button: Run query, Clear query, Switch design view on/off(switch with SQL editor to check before save, after save this button is disabled)

Switchdesignview.PNG

Use wizard to create query

  • Field selection

Specifies the table to create the query, and specifies which fields you wish to include in the query.

  • Sorting Order

Specifies the field by which the created query is sorted. May select 4 fields at most.

  • Search condition(can't save search condition, maybe defect)

Specifies the search conditions to filter the query. Specifies 3 conditions at most.

  • Detail or summary

Detail-->show all results of the query. Summary-->Select to show only results of aggregate functions. Only for numeric field.

  • Grouping?
  • Grouping conditions?
  • Aliases

Assign Aliases of field if desired.

  • Overview

Form

Create Form in design view

Need macro to activate event, now still not create form in design view. Need deeper investigate.

Use Wizard to create form

  • Field selection

For table and query

  • Setup a subform

Specify if you want to use a subform and enter the subform's properties. A subform is a form that is inserted in another form.

  • Add subform fields(Will use in Form->Subform based on existing relation. just choose one table in one-many table relation.)
  • Get joined fields
  • Arrange Controls

Layout of created form. Arrange of main form, Arrange or sub form.

  • Set Data Entry

Specifies the data handling mode for the new form.

  • Creates a form that is only used for entering new data. Existing data will not be displayed.
  • Creates a form that can be used to display existing data and to enter new data.
  • Apply Styles

Specifies the page style for the form

  • Set Name

Specifies the name of the form and how to proceed.


notes and problem:

  1. “Data Source as table” button can combine table with form at one viewer.
  2. Can't modify form with form created by wizard. may modify form created in design view. Need deeper investigate.

Report

For table and query

  • Field selection

Specifies the table or query for which you are creating the report

  • Labeling Fields

Label the field to the report

  • Grouping

Group records in a report

  • Sort options

Select the fields by which to sort the report. Fields can be sorted by up to four levels, each either ascending or descending. Grouped fields can only be sorted within each group.

  • Choose layout

Layout of data, layout of header and footer

  • Create report

You can create the report as a static or dynamic report

Main Function

Copy/Paste/Paste Special

  • copy/paste table

Copytable.PNG


    1. Definition and data: copy field definition and data
    2. Definition: just copy field definition, not the data
    3. As table view: copy as a table view with all definition and data
    4. Append data: Appends the data of the table to be copied to an existing table. These two table's field definition and format definition must the same. Copy existing table, click another target table then right click to paste.
  • copy/paste special table

just table have paste special function.

Pastespecial.PNG


Inserts the contents of the clipboard into the current file in a format that you can specify.


                            Copy as table view
          Table <<------------------------------->>Table View
                   Copy and Paste special(data source table)
  • Copy/paste query/form/report

Just paste with another name.

  • Copy/ paste to Writer/Calc

to Calc, will auto copy the data

to writer, will design table column

Export and import data of base

export data from base

You copy a table from Base to a new Calc sheet, then you can save or export the data to any file format that Calc supports.

import data to base

  • You can import text files, spreadsheet files, and address book in read-only mode only.(via connect to an existing database)

1. Choose Edit - Copy in imported file

2. In the Base window, click Tables in database navigate to view the tables.

3. In the Base window, choose Edit - Paste.

4. You see the Copy Table dialog. Most databases need a primary key, so you may want to check the Create primary key box.

Notes:

  • When you import from a text or spreadsheet file, the file must have a first row of header information. The second row of the file is the first valid data row.
  • On Windows systems, you can also use drag-and-drop instead of Copy and Paste.

Register database and Integrate Usage

If the database is not registered, it will not be accessible to the other OOo components such as Writer and Calc. If the database is registered, other components can access it.

Register database automatically

Register.PNG

Register database manually

File → Wizard → Address data source.(register your address book as the data source).

Registermanual.PNG

Can register all kinds of database not only address book, field assignment page can be ignored when register.

Documentation note.png Tools → Options → OpenOffice Base → DataBases list all registered data bases. User can remove registered databases in this dialog.

Usage registered database in Calc and Writer

Usageinother.PNG

Click  F4  or View → Data sources to pop up window to operate registered database in Calc/Writer.

Operations:

  • Drag and Drop table or query in navigate tree to sheet, All definition and data will copy to Sheet/Writer page
  • Data to text:Click Upper left corner to select all data in specified registered database, then click  "Data to text" . All definition and data will copy to Sheet
  • Data to fields: Define fields with 2 ways,
    • Add Insert → Fields → Other, define your fields in "Database" tab.
    • Mouse select field name,drag and drop field name to writer document。

Then select specified record then click "Date to field", field data will copy to specified field.

  • Mail Merge: Mail Merge Wizard entry, this function is commonly used. (maybe this button is only enabled in Writer )


Documentation note.png Many places to use registered database, such as Writer → Field → Other → Database

Others

  • Tools->Options->OpenOffice.org Base connection pool...

connection pool for performance, but only some defined drivers, these drivers are not used frequently。Need deeper investigate it's benefit.

  • Tools->Tables Filter

No effect as Help, not hide as filter definition, need deeper investigate.

  • Small notes
  1. All reports are based upon a single table or query. So you need first to decide what fields you want to use in the report. If you want to use fields from different tables,
  2. you must first combine these fields in a single query. Then you can create a report on this query.
  3. Report: The Author in Report is the name you listed in Tools > Options > OpenOffice.org > User Data.
  4. Have different context menu in CSV database client. With a CSV database the "MaxRowScan" setting allows to define how many rows should be scanned to find the correct type of a column. In the past only the first row was scanned.

Common defects from AOO mail list

Mail title

Main content

comments

Crash in Calc with database

Memo field., register a database in Calc via macro


mailmerge from a Database query produces blank document

Mail merge from a database query


Dragging a query into a sheet

Drag a table or query to a sheet(export)(not registered database type, separate)

Copy and paste is ok, but drag and drop have the same problem

postgresql-sdbc-0.7.6b installs, Postgres not an option in "Connect to existing Database" pick list

Use extensions to add other database not in pick list.

Extensions about database need pay attention.


Postgresql is used frequently


OOo database denies to open the odb file

Use three not including Filter .

Open and reload

With Filter

RPT: report could not be reopened after 'save as' the database document

Save to another name, can't execute report normally.

Save and Reopen

Desktop frozen on database log-in

Registered database with password protect.

Need consider data with security protect.

Test use Spreadsheet, MS sheet is ok, MS sheet with password can't registered. OO sheet with/without password can't registered.

can not make form in Base only installation

Installation, If you select to install ONLY OpenOffice

Base, you have to install also OpenOffice Wrighter

Install base stand-alone.


TBD:what is OpenOffice Wrighter

Install JDBC and ODBC driver

http://wiki.services.openoffice.org/wiki/Connect_MySQLandBase

Install MySQL JDBC driver

  1. download JDBC driver from official website. Like download MySQL driver from http://www.mysql.com/products/connector/
  2. Unzip file
  3. add driver archive (jar)

Tools - Options - OpenOffice.org – Java , then click Class path button , then click button “Add archive” then open appear in the list of Assigned folders and Archives.

Ok then restart the program(restart include the quick start), will take effect.(need verify db is running)

Install MySQL ODBC driver

  1. download ODBC driver from official website
  2. Navigate to Control Panel > Administrative Tools and double-click on Data Sources (ODBC)
  3. on the User DSN tab Click Add button and from the list of available drivers, select the MySQL ODBC Driver, and click OK.
  4. Input requires data in the appeared dialog.


https://wiki.openoffice.org/wiki/Base

https://wiki.openoffice.org/wiki/Connecting_to_Microsoft_Access

https://wiki.openoffice.org/wiki/Documentation/How_Tos/Using_SQLite_With_OpenOffice.org


FAQ& TBD

Q: How to use address book.

Q: How to use Connection Pool to improve performance with AOO given drivers

Personal tools