incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dave Cottlehuber <d...@muse.net.nz>
Subject Re: Best stack for querying spatial locations
Date Tue, 05 Jun 2012 07:46:58 GMT
On 5 June 2012 05:59, Luca Matteis <lmatteis@gmail.com> wrote:
> Hello all,
>
> I have a scenario where I'm working with a friend of mine that
> maintains a bunch of spatial data in a MS Access database. I want to
> put this data online, as a web-site, and allow people to query it
> using an interface and a RESTful API. So I thought CouchDB + GeoCouch
> would be perfect for this.
>
> The issue is, how do I upload the MS Access data to my online Couch
> instance? I want the process to be seamless - in the sense that my
> friend will continue making modifications to his MS Access db, and
> then he should "upload" it to the couch using some tool.
>
> Do I need to write extra code to parse the MS Access into JSON and
> then upload that to my couch? Or is there an easier way? Dunno, maybe
> upload it the MS Access as an attachment and parse it with client side
> JavaScript?

The trite answer would be to rewrite the Access DB into Couch with a nice
couchapp front end for your friend's local copy,  & then summon replication
to keep a public web version updated.

More practically I think you'll need 2 things;

#1 map the MS Access relational model into doc oriented JSON
#2 set up an export that uses this map to transform that data

You're not the first person to look at Access->JSON:

There's a tool to dump a DB into JSON -
https://s3.amazonaws.com/divconq/bin/jsonutils/JSONUtils_dotnet_v1001.zip

And the authors wrote a series of blog posts on it:
http://www.divconq.com/2010/export-a-microsoft-access-database-to-json/

There will also be libraries to do this via ODBC for python perl ruby etc.
Depending on data complexity it might be quicker to roll your own.

> Also the MS Access is quite large: ~2gb

Large for Access, not for Couch.

A+
Dave

Mime
View raw message