OpenLite: a quick tutorial



Similar documents
SpatiaLite Using SQL Views is really simple and easy a very short introduction

Spatialite-gui. a GUI tool to manage SQLite and SpatiaLite databases. Just few very short notes showing How to get started as quick as possible

GeoPackage, The Shapefile Of The Future

spatialite_gui v a quick tutorial

Microsoft SQL Server to Infobright Database Migration Guide

sqlite driver manual

not at all a manual simply a quick how-to-do guide

Microsoft Office PowerPoint Identify components of the PowerPoint window. Tutorial 1 Creating a Presentation

Spatial Database Support

Microsoft Excel 2013: Macro to apply Custom Margins, Titles, Gridlines, Autofit Width & Add Macro to Quick Access Toolbar & How to Delete a Macro.

Visual FoxPro Accessing MySQL. presented to The Atlanta FoxPro Users Group June 19 th, 2007

DbSchema Tutorial with Introduction in SQL Databases

Introduction to Microsoft Access 2003

MS WORD 2007 (PC) Macros and Track Changes Please note the latest Macintosh version of MS Word does not have Macros.

Lesson 15 - Fill Cells Plugin

Access Tutorial 2 Building a Database and Defining Table Relationships

EMBL-EBI. Database Replication - Distribution

How a Teen can use "Budget" to manage their money

SQL Databases Course. by Applied Technology Research Center. This course provides training for MySQL, Oracle, SQL Server and PostgreSQL databases.

Microsoft Access Basics

CSCI110 Exercise 4: Database - MySQL

Database Migration from MySQL to RDM Server

Welcome to Ipswitch Instant Messaging

Setting up a basic database in Access 2003

Database Setup. Coding, Understanding, & Executing the SQL Database Creation Script

Using SQL Server Management Studio

Automate tasks with Visual Basic macros

PROJECT ON MICROSOFT ACCESS (HOME TAB AND EXTERNAL DATA TAB) SUBMITTED BY: SUBMITTED TO: NAME: ROLL NO: REGN NO: BATCH:

An Introduction to Open Source Geospatial Tools

To begin, visit this URL:

Topic: Relationships in ER Diagram and Relationships in MS Access

Outlook Web Access Tipsheets

1 P a g e. TMS Data Modeler

Section 1: Ribbon Customization

Introduction to Access97 (2): Relationships. by Robin Beaumont. Contents 2. LEARNING OUTCOMES CHECK LIST FOR THE SESSION INTRODUCTION...

Access Tutorial 1 Creating a Database

CS587 Project final report

Adam Rauch Partner, LabKey Software Extending LabKey Server Part 1: Retrieving and Presenting Data

SQL Server for developers. murach's TRAINING & REFERENCE. Bryan Syverson. Mike Murach & Associates, Inc. Joel Murach

4 Simple Database Features

Creating tables of contents and figures in Word 2013

Windows File Management A Hands-on Class Presented by Edith Einhorn

Configuring Network Load Balancing with Cerberus FTP Server

How to move to your account with MAC Mail

Storing SpamAssassin User Data in a SQL Database Michael Parker. [ Start Slide ] Welcome, thanks for coming out today.

Counters & Polls. Dynamic Content 1

Excel for InterAction Reporting. Using Excel to report on InterAction System Data. Introduction. Extracting the data

OmniDB - User s Guide

vcenter Orchestrator Developer's Guide

How To Compare The Two Database Engines

INFOPATH FORMS FOR OUTLOOK, SHAREPOINT, OR THE WEB

Database Studio is the new tool to administrate SAP MaxDB database instances as of version 7.5.

Version of this tutorial: 1.06a (this tutorial will going to evolve with versions of NWNX4)

Basic -- Manage Your Bank Account and Your Budget

Hostname (DNS Resolvable) Network Objects

Toad Data Modeler - Features Matrix

Working with DB2 UDB objects

Microsoft Office PowerPoint Creating a new presentation from a design template. Creating a new presentation from a design template

Database Replication with MySQL and PostgreSQL

LAB 6: Code Generation with Visual Paradigm for UML and JDBC Integration

Database Linker Tutorial

Word basics. Before you begin. What you'll learn. Requirements. Estimated time to complete:

Ken Goldberg Database Lab Notes. There are three types of relationships: One-to-One (1:1) One-to-Many (1:N) Many-to-Many (M:N).

Oracle Database 10g Express

Google Sites: Site Creation and Home Page Design

DEVELOPING AND IMPLEMENTING MULTIUSER, FULLY RELATIONAL GIS DATABASE FOR DESKTOP SYSTEMS USING OPEN SOURCE TECHNOLOGIES

Learn how to create web enabled (browser) forms in InfoPath 2013 and publish them in SharePoint InfoPath 2013 Web Enabled (Browser) forms

SQL DATA DEFINITION: KEY CONSTRAINTS. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 7

Firebird. A really free database used in free and commercial projects

Microsoft Excel Basics

Sample- for evaluation purposes only. Advanced Crystal Reports. TeachUcomp, Inc.

The VB development environment

How to create and personalize a PDF portfolio

Creating Forms in Microsoft Word 2007

Search help. More on Office.com: images templates

Configuring browser settings (Internet Explorer and Google Chrome) for Bug Club via a Group Policy

When to consider OLAP?

Learning SQL Data Compare. SQL Data Compare - 8.0

Task Force on Technology / EXCEL

FileMaker 14. ODBC and JDBC Guide

Managing the System Event Log

SQL Simple Queries. Chapter 3.1 V3.0. Napier University Dr Gordon Russell

Writer Guide. Chapter 15 Using Forms in Writer

Exploiting Key Answers from Your Data Warehouse Using SAS Enterprise Reporter Software

Choosing the Right Way of Migrating MySQL Databases

7. Data Packager: Sharing and Merging Data

Zero Downtime Deployments with Database Migrations. Bob Feldbauer

Creating a table of contents quickly in Word

Introduction to PostGIS

Dashcode User Guide. (Retired Document)

Getting started with the Asset Import Converter. Overview. Resources to help you

Access Tutorial 3: Relationships

Spotfire v6 New Features. TIBCO Spotfire Delta Training Jumpstart

History Explorer. View and Export Logged Print Job Information WHITE PAPER

Transcription:

OpenLite: a quick tutorial an user friendly GUI tool supporting data transfer between SpatiaLite, PostGIS and MySQL Brief reference: SQLite / SpatiaLite: a lightweight Spatial DBMS fully supporting OGC simple features. SpatiaLite doesn't adopts a client-server architecture, and is really simple to deploy and use. PostgreSQL / PostGIS: a really complex but very sophisticated client-server Spatial DBMS fully supporting OGC simple features. MySQL: a mid range client-server Spatial DBMS supporting a very limited subset of OGC simple features. Anyway MySQL is ubiquitously widespread. All them are free software. OpenLite is designed so to support data transfer between two different DBMS instances: so the first thing you are expected to do is to establish two DBMS connections.

DBMS connection for instance #1 always has to be of the SQLite / SpatiaLite type. Connection for instance #2 can freely be one of the followings: a connection to another SQLite / SpatiaLite database-file a connection to some MySQL DBMS server a connection to some PostgreSQL / PostGIS DBMS server Important notice: OpenLite always comes with full SpatiaLite support included. e.g. the Windows pre-built binary includes statically linked libraries supporting SQLite and SpatiaLite, so there is absolutely no need at all to install nothing else. You simply have to run the executable, and that's absolutely all. The same is not true for client libraries required by MySQL and PostgreSQL: OpenLite always comes with no support at all for such libraries. A special technique known as late binding is used in this case: the first time you'll attempt to establish a connection, then OpenLite will ask you to locate the corresponding client library on the file-system. Once you've performed a successful selection, then OpenLite permanently stores this information, so you'll never been asked again.

MySQL own idiosyncrasies: MySQL can store OGC Geometries using two different storage engines: the MyISAM engine is the usual default: warning: this engine doesn't is ACID. i.e. transactions are not supported at all. and foreign key / primary key constraints are not supported as well anyway you can actually define an RTree Spatial Index for any Geometry stored using this engine the InnoDB engine is much more sophisticated: this engine is fully ACID. i.e. transactions are actually supported. and foreign key / primary key constraints are supported as well anyway defining an RTree Spatial Index when this engine is strictly forbidden. So OpenLite requires you to choose the storage engine to be used when creating a new table into the MySQL DBMS Caveat: MySQL simply supports 2D [XY] Geometries. So OpenLite will take care to cast any input Geometry to 2D before inserting into MySQL.

Both PostgreSQL and SQLite are full ACID: so both them actually supports transactions And foreign key / primary key constraints are actually enforced by both PostgreSQL and SQLite Both PostGIS and SpatiaLite fully support the OGC multidimensional model: 2D [XY], [XYM] 3D [XYZ], [XYZM] As a rule of the thumb, a strong family appearance exists between PostGIS and SpatiaLite. So you can legitimately expect to transfer tables between the one and the other on the most painless way, and with no information loss at all ( hopefully )

OpenLite allows you to explore the DBMS layout using the tree-view control (for both connections)

You can select any single table to be included into the next Data Transfer using the above shown context-menu: you simply have to click the right mouse button in order to make the context-menu to appear.

But you can also select a whole group of tables at once: you simply have to click the right mouse button on a tree-node corresponding to some SCHEMA.

As soon as you add some table to the current selection, the window panes will immediately be updated, so to allow you to visually check the current selection as a whole. Please note: you can freely choose tables on both instances. Once a table is selected for Data Transfer OpenLite simply intends this as: Must be transferred on the other side. Please note well: when the target DBMS is one supporting SCHEMATA (i.e. MySQL or PostgreSQL) you are required to select the corresponding SCHEMA target. You simply have to click the corresponding tree-node. Once you've established a valid selection, OpenLite is ready to start a Data Transfer. You simply have to press the above shown toolbar button.

When the Data Transfer is in progress, the window panes will be constantly updated, so to allow you to continuously monitor the current process state. Any table will be automatically created on the target DBMS: if a table of a same name already exists, the Data Transfer will continue raising an error condition and ignoring at all the offending table As far as possible, the best fitting data type will be used for each column on the target DBMS Any Primary Key, Foreign Key, Index and Spatial Index will be re-created on the target DBMS as defined in the corresponding input table. Excepted when DBMS intrinsic idiosyncrasies forbids this When a Data Transfer affects more table, and OpenLite detects some Primary Key / Foreign Key relation, table will be transferred applying the corresponding priority so not to cause referential integrity violations.

And finally, once the Data Transfer terminates, the window panes will be updated so to correctly reflect the current state for both connections. Caveat: this one simply is a Beta (testing, experimental) version. Never use OpenLite on behalf of any warm DBMS storing critical and vital data. YOU ARE WARNED Probable bugs / issues: not really sure about odd data types conversions. Most notably about DATE / DATETIME / TIMESTAMP values. not really sure about VIEWs not really sure about generic BLOBs (e.g. containing pictures and so on) How to build: absolutely straightforward./configure make sudo make install-strip Reguired dependencies: libspatialite wxwidgets