[Qgis-developer] Native SQL Anywhere plugin+provider contributed to trunk

Dave.DeHaan at sybase.com Dave.DeHaan at sybase.com
Wed Dec 15 17:00:56 EST 2010


Hello QGIS Devs,

As per discussion on qgis-psc a couple of weeks ago, I have just
contributed (rev. 14918) a native plugin+provider for Sybase SQL Anywhere
(trunk/qgis/src/plugins/sqlanywhere; trunk/qgis/src/providers/sqlanywhere),
similar in functionality to the PostGIS and SpatiaLite providers.  Due to a
legal technicality, this code needed to be released under GPL v3 rather
than the usual GPL v2 used by the rest of the QGIS project.

I've tested the code under both Ubuntu 10.04 (gcc) and Windows XP (MSVC
2008).  If there are developers out there on other platforms, could you
please let me know if the plugin fails to either compile or load on your
platform (loading it should add a toolbar button and a couple menu
options)?

If anyone is interested in taking the plugin/provider for a test drive,
here is a quick set of steps to get you started:

  1. Download the free Developer's Edition of SQL Anywhere 12.0.0 here:
http://www.sybase.com/detail?id=1016644

  2. Install the SQL Anywhere 12.0.0 engine on your database host

  3. Install the SQL Anywhere 12.0.0 client libraries on your QGIS client
(only necessary if client and host are different machines)

  4. Use 'dbinit my_database_name' to initialize a blank database on the
host.  The default user/password is initialized to 'dba'/'sql'.

  5. Use 'dbsrv12 my_database_name' to start the database server on the
host.

  6. Populate the database with sample spatial data.  To facilitate this
step, I have contributed the SQL script
src/providers/sqlanywhere/load_alaska_shapes.sql which loads the Alaska
VMap0 shapefiles into new tables.  Use the 'Interactive SQL' tool (dbisql)
on the database host to open/execute this script (you will need to modify a
few variables at the top of the script to tell it where to find the
shapefiles, which are assumed to be on the filesystem of the database
host).

  7. Start up QGIS, and load the SQL Anywhere plugin.  This will add a
button to the data sources toolbar, as well as the menu entries 'Plugins->
SQL Anywhere' and 'Layer->Add SQL Anywhere Layer...'

  8. Adding a SQL Anywhere layer should invoke a dialogue box for choosing
a connection and searching the database schema for geometry columns
(similar look/feel/functionality to the PostGIS and SpatiaLite toolbar
buttons).  If you instead receive a message box, it means that it can't
find the SQL Anywhere client libraries installed in step 3 (or step 2 if
client=host).

Please let me know if you have any questions/comments/suggestions/bugs...

Thanks,
Dave

----
David DeHaan
SQL Anywhere Research and Development
Sybase iAnywhere
ddehaan at sybase.com



More information about the Qgis-developer mailing list