Difference between revisions of "QA/Database"

From Apache OpenOffice Wiki
< QA
Jump to: navigation, search
 
(32 intermediate revisions by 2 users not shown)
Line 5: Line 5:
 
|-
 
|-
 
|
 
|
'''Notes:'''Need JRE, not only JDBC but new embedded database also need JRE. Tools &gt; Options &gt; <nowiki>OpenOffice.org</nowiki> &gt; Java
+
{{Note | Need JRE, not only JDBC but new embedded database also need JRE. {{menu|Tools|Options|OpenOffice|Java}} }}
 
|}
 
|}
 
=Start With Database Wizard=
 
=Start With Database Wizard=
Line 13: Line 13:
  
 
* Embedded database
 
* Embedded database
*# Create a new database, use HSQL database as default setting(Pure Java DB)
+
*# Create a new database, use HSQL database as default setting (Pure Java DB)
 
*# Open an existing database file, open created new database file and connect to database file.
 
*# Open an existing database file, open created new database file and connect to database file.
 
* External business database
 
* External business database
 
*# Connect to an existing database
 
*# Connect to an existing database
  
{| class="prettytable"
+
{| class="wikitable" "style:margin-left: 10px;"
 +
! Support Type !! comments
 
|-
 
|-
|
+
| JDBC || Database url and driver class
Support Type
+
|-
 
+
| Oracle JDBC  || need provide some commonly used db(provide JDBC)<br/> Oracle JDBC, driver class is given—oracle.jdbc.driver.OracleDriver
|
+
|-
comments
+
| ODBC    || ODBC data source(dBase files,excel files, MS Access database)
 
+
|-
 +
| MySQL  || Connect use JDBC or ODBC
 
|-
 
|-
|
+
| Spreadsheet || Open OpenOffice Calc spreadsheet or MS Excel in read-only mode.
JDBC
 
 
 
Oracle JDBC
 
 
 
|
 
Database url and driver class
 
 
 
need provide some commonly used db(provide JDBC)
 
 
 
 
|-
 
|-
|
+
| LDAP address book
 
 
 
 
|
 
Oracle JDBC, driver class is given—<nowiki>oracle.jdbc.dr</nowiki>iver.OracleDriver
 
 
 
 
|-
 
|-
|
+
| SeaMonkey address book
ODBC
 
 
 
|
 
ODBC data source(dBase files,excel files, MS access database)
 
 
 
 
|-
 
|-
|
+
| Microsoft Outlook address book || Import an address book in read-only mode
MySQL
 
 
 
|
 
Connect use JDBC or ODBC
 
 
 
 
|-
 
|-
|
+
| Microsoft Windows address book
Spreadsheet
 
 
 
|
 
Open <nowiki>Openoffice.org</nowiki> spreadsheet or MS excel in read-only mode.
 
 
 
 
|-
 
|-
|
+
| Thunderbird address book
LDAP address book
+
|-
 
+
| Text || Import a database in text format. Open txt, csv, custom type in read-only mode
SeaMonkey address book
 
 
 
Microsoft Outlook address book
 
 
 
Microsoft Windows address book
 
 
 
Thunderbird address book
 
 
 
|
 
Import a address book  in read-only mode
 
 
 
 
|-
 
|-
|
+
| Microsoft Access<br/>Microsoft Access 2007|| Access file
Text
 
 
 
|
 
Import a database in text format,  Open txt, csv, custom type in read-only mode
 
 
 
 
|-
 
|-
|
+
| dBASE || Dbase file
Microsoft Access
 
 
 
Microsoft Access 2007
 
 
 
|
 
Access file
 
 
 
 
|-
 
|-
|
+
| ADO || ADO (Microsoft ActiveX Data Objects) database.
dBASE
 
 
 
|
 
Dbase file
 
 
 
 
|-
 
|-
|
+
| Adabas D  ||
ADO
 
 
 
|
 
ADO (Microsoft ActiveX Data Objects) database.
 
 
 
 
|-
 
|-
|
 
Adabas D
 
 
|
 
 
 
 
|}
 
|}
  
Line 130: Line 64:
 
# double click created table to input data  
 
# double click created table to input data  
 
# Check data from design view
 
# Check data from design view
# Create queries in SQL view(Grammar check when saving,Logical check on execution)
+
# Create queries in SQL view (Grammar check when saving,Logical check on execution)
# create form from wizard(organize data with controller)
+
# create form from wizard (organize data with controller)
 
# create report to writer
 
# create report to writer
  
 
'''Scenario 2: Connect to an existing  database via JDBC'''
 
'''Scenario 2: Connect to an existing  database via JDBC'''
  
# install driver(ensure step 4 can pass)
+
# install driver (ensure step 4 can pass)
# Connection URL:mysql://127.0.0.1:3306/mysqldb,  
+
# Connection URL: mysql://127.0.0.1:3306/mysqldb,  
 
# Driver Class: <nowiki>com.mysql.jd</nowiki>bc.Driver
 
# Driver Class: <nowiki>com.mysql.jd</nowiki>bc.Driver
 
# click Test Class button, check driver can load correctly.
 
# click Test Class button, check driver can load correctly.
 
# Input User name, then Test Connection
 
# Input User name, then Test Connection
# check load database, table ...from mysql db.
+
# check load database, table …from mysql db.
 
# Edit exist table: add column, delete column, but can't edit data record.
 
# Edit exist table: add column, delete column, but can't edit data record.
# Create new table on exist mysql database(load all database from connected db), field and data record all can be edited.
+
# Create new table on existing mysql database (load all database from connected db), field and data record all can be edited.
 
# Create query, form, report base on exist table and new created table.
 
# Create query, form, report base on exist table and new created table.
  
 
'''Scenario 3: Connect to an existing database via ODBC'''
 
'''Scenario 3: Connect to an existing database via ODBC'''
  
# install odbc driver
+
# install ODBC driver
connect to db info(ensuse name in step 2 can be browsed)
+
# connect to db info (ensure name in step 2 can be browsed)
 
# connect to exist database via ODBC
 
# connect to exist database via ODBC
select name of odbc data source on system
+
# select name of ODBC data source on system
 
# other operation like Scenario2 7)8)9)
 
# other operation like Scenario2 7)8)9)
  
Line 163: Line 97:
 
(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.)
 
(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'''
+
'''Scenario 5: Connect to an existing Text'''
  
 
* '''open text'''
 
* '''open text'''
Line 169: Line 103:
 
*# one text one table, can't edit table.
 
*# one text one table, can't edit table.
  
* '''open csv(address book file)'''
+
* '''open csv (address book file)'''
 
*# use spreadsheet to save as to a text csv file.
 
*# use spreadsheet to save as to a text csv file.
 
*# Select folder where csv in. (one csv one table, if more csv in this folder, then will get all csv more tables)
 
*# Select folder where csv in. (one csv one table, if more csv in this folder, then will get all csv more tables)
Line 175: Line 109:
  
 
* '''open custom type file'''
 
* '''open custom type file'''
# create a custom type file with definition separator(Field separator), filed separator have : , ; tab space
+
# create a custom type file with definition separator (Field separator), filed separator have : , ; tab space
  
  
Line 181: Line 115:
  
 
# browse Access accdb file  
 
# browse Access accdb file  
# Operation like other db(can't edit data record)
+
# Operation like other db (can't edit data record)
  
'''Scenario 7: Connect to an existing address book(Microsoft Outlook)'''
+
'''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 '''
 
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 '''
Line 189: Line 123:
 
'''Scenario 8: Register a database and Use it.'''
 
'''Scenario 8: Register a database and Use it.'''
  
# Register database automatically(The last step in Create or Connect to existing database)
+
# Register database automatically (The last step in Create or Connect to existing database)
# Register database manually,File -&gt;Wizard-&gt;Address data source  
+
# Register database manually, {{menu|File|Wizards|Address data source}}
# check registered database (Tools-&gt;Options-&gt;<nowiki>OpenOffice.org</nowiki> Bas-&gt;DataBases list all registered data bases. User also can remove registered databases)
+
# check registered database ({{menu|Tools|Options|OpenOffice Base|DataBases}} list all registered databases. User also can remove registered databases)
 
# new Calc or Writer document
 
# new Calc or Writer document
# View-Data Sources or F4 to pop up registered data source.
+
# ({{menu|View|Data Sources}} or {{button|F4}} to pop up registered data source.
# Select all data then click “data to text ” button, or drag&drop table to sheet.  Data from database will copy to sheet or writer.
+
# 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=
 
=Database design entry=
Line 225: Line 159:
 
* Must have Primary Key
 
* Must have Primary Key
 
* Provide shortcut of Field Type via keyboard
 
* Provide shortcut of Field Type via keyboard
* Provide Index design in Tools-&gt;Index Design
+
* Provide Index design in {{menu|Tools|Index Design}}
  
 
===Use Wizard to create table===
 
===Use Wizard to create table===
Line 259: Line 193:
  
  
Tools-&gt;Relationships to pop up Relationship Design Window
+
{{menu|Tools|Relationships}} to pop up Relationship Design Window
  
 
[[File:Relation.PNG]]
 
[[File:Relation.PNG]]
Line 265: Line 199:
  
  
Drag and Drop or Insert-&gt;New Relation...
+
Drag and Drop or {{menu|Insert|New Relation…}}
  
 
[[File:Newrelation1.PNG]]
 
[[File:Newrelation1.PNG]]
Line 318: Line 252:
 
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.
 
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-&gt;Subform based on existing relation. just choose one table in one-many table relation.)
+
* Add subform fields (Will use in Form-&gt;Subform, based on existing relation. Just choose one table in one-many table relation.)
 
* Get joined fields
 
* Get joined fields
 
* Arrange Controls
 
* Arrange Controls
Line 334: Line 268:
 
Specifies the name of the form and how to proceed.
 
Specifies the name of the form and how to proceed.
  
 
+
'''Notes and problem''':
 
 
notes and problem:
 
  
 
# “Data Source as table” button can combine table with form at one viewer.
 
# “Data Source as table” button can combine table with form at one viewer.
# Can't modify form with form created by wizard. may modify form created in design view. Need deeper investigate.
+
# Can't modify form with form created by wizard. May modify form created in design view. Need deeper investigate.
  
 
==Report==
 
==Report==
Line 411: Line 343:
 
===import data to base===
 
===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)
+
* You can import text files, spreadsheet files, and address book in read-only mode only. (via '''Connect to an existing database''')
  
{| class="prettytable"
+
{| "style:margin-left: 40px;"
 +
|-
 +
| 1.    Choose {{menu|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 {{menu|Edit|Paste}}.
1.    Choose '''Edit - Copy''' in imported file
+
|-
 +
| 4.    You see the Copy Table dialog. Most databases need a primary key, so you may want to check the '''Create primary key''' box.
 +
|-
 +
|}
  
2.    In the Base window, click '''Tables''' in database navigate to view the tables.
+
'''Notes''':
 
 
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.  
 
* 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.  
Line 432: Line 364:
 
==Register database and Integrate Usage==
 
==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.
+
If the database is not registered, it will not be accessible to the other {{AOo}} components such as Writer and Calc. If the database is registered, other components can access it.
  
 
===Register database automatically===
 
===Register database automatically===
Line 439: Line 371:
 
===Register database manually===
 
===Register database manually===
  
File -&gt;Wizard-&gt;Address data source.(register your address book as the data source).  
+
{{menu|File|Wizard|Address data source}}.(register your address book as the data source).  
  
 
[[File:Registermanual.PNG]]
 
[[File:Registermanual.PNG]]
Line 445: Line 377:
 
Can register all kinds of database not only address book, field assignment page can be ignored when register.
 
Can register all kinds of database not only address book, field assignment page can be ignored when register.
  
Notes:
+
{{Note | {{menu|Tools|Options|OpenOffice Base|DataBases}} list all registered data bases. User can remove registered databases in this dialog.}}
 
 
Tools-&gt;Options-&gt;<nowiki>OpenOffice.org</nowiki> Base-&gt;DataBases list all registered data bases. User can remove registered databases in this dialog.
 
  
 
===Usage registered database in Calc and Writer===
 
===Usage registered database in Calc and Writer===
Line 453: Line 383:
 
[[File:Usageinother.PNG]]
 
[[File:Usageinother.PNG]]
  
Click F4 or View-&gt;Data sources to Pop up window to operate registered database in Calc/Writer.
+
Click {{button|F4}} or {{menu|View|Data sources}} to pop up window to operate registered database in Calc/Writer.
  
 
Operations:
 
Operations:
  
 
* Drag and Drop table or query in navigate tree to sheet, All definition and data will copy to Sheet/Writer page
 
* 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" button. All definition and data will copy to Sheet
+
* Data to text:Click Upper left corner to select all data in specified registered database, then click {{button|"Data to text"}}. All definition and data will copy to Sheet
 
* Data to fields: Define fields with 2 ways,  
 
* Data to fields: Define fields with 2 ways,  
** Add Insert-&gt;Fields-&gt;Other, define your fields in "Database" tab.     
+
** Add {{menu|Insert|Fields|Other}}, define your fields in "Database" tab.     
 
** Mouse select field name,drag and drop field name to writer document。   
 
** 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.
 
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.(may be this button only enable in Writer )
+
* Mail Merge: Mail Merge Wizard entry, this function is commonly used. (maybe this button is only enabled in Writer )
  
  
  
Notes:
+
{{ Note | Many places to use registered database, such as {{menu|Writer|Field|Other|Database}} }}
 
 
Many place to use registered database, such as Writer-&gt;Field-&gt;Other-&gt;Database
 
  
 
==Others==
 
==Others==
  
* Tools-&gt;SQL for test sql command.
+
* {{menu|Tools|SQL}} for running SQL commands directly.
* Tools-&gt;extension manager, 用于添加extension plugins. Common used extensions  
+
* {{menu|Tools|Extension manager}}, extension plugins. Common used extensions  
 
** “MySQL Connector for <nowiki>OpenOffice.org</nowiki>” ,
 
** “MySQL Connector for <nowiki>OpenOffice.org</nowiki>” ,
** Oracle  Report Builder  for more complex report. [http://extensions.services.openoffice.org/en/project/reportdesign http://extensions.services.openoffice.org/en/project/reportdesign]
+
** Oracle  Report Builder  for more complex report. [https://extensions.openoffice.org/en/project/reportdesign https://extensions.openoffice.org/en/project/reportdesign]
** Use Other database like PostgreSQL(commonly used) (Use other database via extensions)[http://wiki.services.openoffice.org/wiki/Base/connectivity/PostgreSQL     http://wiki.services.openoffice.org/wiki/Base/connectivity/PostgreSQL]
+
** Use Other database like PostgreSQL(commonly used) (Use other database via extensions) [https://wiki.openoffice.org/wiki/Base/connectivity/PostgreSQL https://wiki.openoffice.org/wiki/Base/connectivity/PostgreSQL]
  
* Tools-&gt;Options-&gt;<nowiki>OpenOffice.org</nowiki> Base connection pool...
+
* {{menu|Tools|Options|OpenOffice Base}} connection pool…
  
connection pool for performance, but only some defined drivers, these drivers are not used frequently。Need deeper investigate it's benefit.
+
connection pool for performance, but only some defined drivers, these drivers are not used frequently。Need deeper investigate it's benefit.
  
* Tools-&gt;Tables Filter
+
* {{menu|Tools|Tables Filter}}
  
 
No effect as Help, not hide as filter definition, need deeper investigate.
 
No effect as Help, not hide as filter definition, need deeper investigate.
Line 491: Line 419:
 
# 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,
 
# 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,
 
# you must first combine these fields in a single query. Then you can create a report on this query.
 
# you must first combine these fields in a single query. Then you can create a report on this query.
# Report: The Author in Report is the name you listed in Tools &gt; Options &gt; <nowiki>OpenOffice.org</nowiki> &gt; User Data.
+
# Report: The Author in Report is the name you listed in {{menu|Tools|Options|OpenOffice|User Data}}.
 
# 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.
 
# 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=
 
=Common defects from AOO mail list=
 
+
{| class="wikitable" "style:margin-left: 10px;"
 
+
! Mail title !! Main content || comments
 
 
{| class="prettytable"
 
 
|-
 
|-
|
+
| Crash in Calc with database || Memo field., register a database in Calc via macro
Mail title
 
 
 
|
 
Main content
 
 
 
|
 
comments
 
 
 
 
|-
 
|-
|
+
| Mailmerge from a Database query  produces blank document || Mail merge from a database query
Crash in Calc with database
 
 
 
|
 
Memo field., register a database in Calc via macro
 
 
 
|
 
 
 
 
 
 
|-
 
|-
|
+
| 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
mailmerge from a Database query produces blank document
 
 
 
|
 
Mail merge from a database query
 
 
 
|
 
 
 
 
 
 
|-
 
|-
|
+
| 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.<br />Extensions about database need pay attention. || Postgresql is used frequently
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
 
 
 
 
|-
 
|-
|
+
| AOO database denies to open the odb file || Use three not including Filter.<br /> Open and reload || With Filter
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
 
 
 
 
 
 
 
 
|-
 
|-
|
+
| RPT: report could not be reopened after 'save as' the database document || Save to another name, can't execute report normally. || Save and Reopen
OOo database denies to open the odb file
 
 
 
|
 
Use three not including Filter .
 
 
 
Open and reload
 
 
 
|
 
With Filter
 
 
 
 
|-
 
|-
|
+
| Desktop frozen on database log-in || Registered database with password protect. || Need consider data with security protect.<br />Test use Spreadsheet, MS sheet is ok, MS sheet with password can't registered. OO sheet with/without password can't registered.
RPT: report could not be reopened after 'save as' the database document
 
 
 
|
 
Save to another name, can't execute report normally.
 
 
 
|
 
Save and Reopen
 
 
 
 
|-
 
|-
|
+
| Can not make form in Base only installation || Installation,  If you select to install ONLY OpenOffice Base, you have to install also OpenOffice Writer || Install Base stand-alone.<br />TBD:what is OpenOffice Writer
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=
 
=Install JDBC and ODBC driver=
  
<nowiki>http://wiki.services.openoffice.org/wiki/Connect_MySQLandBase</nowiki>
+
https://wiki.openoffice.org/wiki/Connect_MySQLandBase
  
 
==Install MySQL JDBC driver==
 
==Install MySQL JDBC driver==
# download JDBC driver from official website. Like download MySQL driver from [http://www.mysql.com/products/connector/ http://www.mysql.com/products/connector/]
+
# download JDBC driver from official website. Like download MySQL driver from [https://www.mysql.com/products/connector/ https://www.mysql.com/products/connector/]
 
# Unzip file
 
# Unzip file
 
# add driver archive (jar)
 
# add driver archive (jar)
  
Tools - Options - <nowiki>OpenOffice.org</nowiki> – Java , then click Class path button , then click button “Add archive” then open appear in the list of Assigned folders and Archives.
+
{{menu|Tools|Options|OpenOffice|Java}}, then click {{button|Class path}}, then click {{button|Add archive}} button, 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)
+
{{button|OK}} then restart the program (restart include the Quickstarter), will take effect. (need verify db is running)
  
 
==Install MySQL ODBC driver==
 
==Install MySQL ODBC driver==
Line 628: Line 464:
  
  
[http://wiki.services.openoffice.org/wiki/Base http://wiki.services.openoffice.org/wiki/Base]
+
[https://wiki.openoffice.org/wiki/Base https://wiki.openoffice.org/wiki/Base]
  
[http://wiki.services.openoffice.org/wiki/Connecting_to_Microsoft_Access http://wiki.services.openoffice.org/wiki/Connecting_to_Microsoft_Access]
+
[https://wiki.openoffice.org/wiki/Connecting_to_Microsoft_Access https://wiki.openoffice.org/wiki/Connecting_to_Microsoft_Access]
  
[http://wiki.services.openoffice.org/wiki/Documentation/How_Tos/Using_SQLite_With_OpenOffice.org http://wiki.services.openoffice.org/wiki/Documentation/How_Tos/Using_SQLite_With_OpenOffice.org]
+
[https://wiki.openoffice.org/wiki/Documentation/How_Tos/Using_SQLite_With_OpenOffice.org https://wiki.openoffice.org/wiki/Documentation/How_Tos/Using_SQLite_With_OpenOffice.org]
  
  
  
'''FAQ& TBD'''
+
'''FAQ & TBD'''
  
 
Q:  How to use address book.
 
Q:  How to use address book.
  
 
Q:  How to use Connection Pool to improve performance with AOO given drivers
 
Q:  How to use Connection Pool to improve performance with AOO given drivers
 +
 +
[[Category:Quality Assurance]]

Latest revision as of 13:05, 28 June 2023

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 Database url and driver class
Oracle JDBC 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 Calc spreadsheet or MS Excel in read-only mode.
LDAP address book
SeaMonkey address book
Microsoft Outlook address book Import an address book in read-only mode
Microsoft Windows address book
Thunderbird address book
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 existing 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
  2. connect to db info (ensure name in step 2 can be browsed)
  3. connect to exist database via ODBC
  4. select name of ODBC data source on system
  5. 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 → Wizards → Address data source
  3. check registered database (Tools → Options → OpenOffice Base → DataBases list all registered databases. 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 Apache OpenOffice 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 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 → 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
AOO 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 Writer Install Base stand-alone.
TBD:what is OpenOffice Writer

Install JDBC and ODBC driver

https://wiki.openoffice.org/wiki/Connect_MySQLandBase

Install MySQL JDBC driver

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

Tools → Options → OpenOffice → Java, then click  Class path , then click  Add archive  button, then open appear in the list of Assigned folders and Archives.

 OK  then restart the program (restart include the Quickstarter), 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