Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want to choose the geodatabase type, which could be:

  • permits direct sql queries.
  • easily portable, because the app would installed in one computer.

I know that the personal geodatabase is a good choice, but I would like to know if there's some limitations in personal geodatabase apart the size (the size won't be a problem).

The geodatabase would be used for some geoprocessing operations and some sql queries.

share|improve this question
I would say use a File Geodatabase over a Personal at this point. At 10.1 the personal GDB is no longer supported for ArcServer, I think it's only a matter of time until ESRI deprecates it for the desktop as well. – Zachary Feb 14 '13 at 18:06
i would like to use File Geodatabase but it misses sql queries. – geogeek Feb 14 '13 at 21:54
However, a file GDB doesn't have the accessible SQL interface that Access does. One of my biggest laments about ArcGIS is the failure to provide a direct SQL query window years ago. – awesomo Feb 14 '13 at 21:58
up vote 6 down vote accepted

Another option is Spatialite with the ArcGIS plugin. Spatialite sits on top of SQLite which is a "a self-contained, serverless, zero-configuration, transactional SQL database engine". It's perhaps a little more portable than MS SQL or PostGIS, though you'd need to install the plugin on whatever machine you want to access the data on.

Cons: Read-only support in ArcGIS.

share|improve this answer
Does that give you good access to SQL with the having to create your own interfaces? – D.E.Wright Feb 15 '13 at 1:22
@D.E.Wright - yes there's a number of SQLite interfaces, e.g. a native python (2.5+) module, a Firefox add-on, a standalone crossplatform browser. There's also the spatialite tools as well. – Luke Feb 15 '13 at 2:14

My best recommendation would be to shoot for Microsoft SQL2008R2 Express or SQL20012 Express if you have the option. Since these both support native spatial and T-SQL functionality you will get the best performance. The Express versions support a larger memory space than the pGDB did but have the power of full T-SQL; where using a fGDB does not because of the abstract layer of ArcGIS API.

I also would recommend you to try and isolate as much of your search/query functionality as you can to keep that native to SQL to reduce performance hit going through the ESRI/ArcGIS abstraction layer. You can use T-SQL to do a lot more joining of data and deal with things on a much more granular level that the ArcGIS/ArcObjects API allows.

share|improve this answer
"You can use T-SQL to do a lot more joining of data and deal with things on a much more granular level that the ArcGIS/ArcObjects API allows." Can you give some examples? If you need geodatabase behavior you can't do that through SQL alone. – blah238 Feb 14 '13 at 19:08
I did not say you can remove the GDB needs totally; but when it comes to doing solid SQL functionality you can't beat the performance of the native platform. Doing a simple Delete query can happen much faster in native SQL than using a ESRI API since you don't have to cope with the additional overhead . And yes, as I have built apps running now that are fully spatial and transactional without a dependency on ESRI. – D.E.Wright Feb 14 '13 at 19:26
i have been working with SDE on Postgresql, to query database directly, not from Arcobjects , i was a great experience, but now for some needs, each machine have to has its data isolated , i thought to adopt a lightweight database, but really it seems not to give the full power of SQL, but i steel regrets that SDE needs some extra material requirements. – geogeek Feb 14 '13 at 21:49
Postgresql has a pretty small footprint and can be setup pretty easily locally. That is a option too, but I find that the MS Express editions have a real quick path to install and getting online without the need to add PostGIS on top of PostGres. ESRI can talk to both as 1st class citizens but sometimes I feel the PostGIS implementation from them is a afterthought to please the OS community. – D.E.Wright Feb 14 '13 at 22:23
postgresql installs everything into one directory. just hardcode all configurations to point into P:\ and start mount usb stick to there... (flash based usb stick could run into problems) But external harddisk... It might be actually easy as just installin it to external hd and use same drive letter on another machine – simplexio Feb 15 '13 at 8:11

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.