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.

  • 1
    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, 2013 at 18:06
  • i would like to use File Geodatabase but it misses sql queries.
    – geogeek
    Feb 14, 2013 at 21:54
  • 2
    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, 2013 at 21:58

2 Answers 2


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.


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.

  • "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, 2013 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, 2013 at 19:26
  • 1
    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, 2013 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, 2013 at 22:23
  • 2
    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 Feb 15, 2013 at 8:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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