<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.esri.com/Dev/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Inside the Geodatabase : Best Practices</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx</link><description>Tags: Best Practices</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Debug Build: 61120.2)</generator><item><title>Migrating from Single-user Geodatabases to Multiuser Geodatabases - Podcast available!</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2009/08/13/Migrating-from-Single_2D00_user-Geodatabases-to-Multiuser-Geodatabases-_2D00_-Podcast-available_2100_.aspx</link><pubDate>Thu, 13 Aug 2009 17:05:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:7534</guid><dc:creator>JonMurphy</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/7534.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=7534</wfw:commentRss><description>A new instructional series podcast is available called Migrating from Single-user Geodatabases to Multiuser Geodatabases. The podcast provides reasons to migrate from MS Access personal or file geodatabases to multiuser geodatabases. It also highlights...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2009/08/13/Migrating-from-Single_2D00_user-Geodatabases-to-Multiuser-Geodatabases-_2D00_-Podcast-available_2100_.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=7534" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/ArcSDE/default.aspx">ArcSDE</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/File+Geodatabase/default.aspx">File Geodatabase</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Heads+up_2100_/default.aspx">Heads up!</category></item><item><title>Raster Clipping – Part B - Using an irregular shape to clip a raster dataset</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2009/05/14/Better-Raster-Clipping-Options-in-ArcGIS-_1320_-Part-B.aspx</link><pubDate>Thu, 14 May 2009 20:42:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:5916</guid><dc:creator>JonMurphy</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/5916.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=5916</wfw:commentRss><description>This is a follow up to last week’s post . Last week we talked about clipping raster datasets based on a single polygon or graphic. This week we will look at clipping a raster dataset based on selected features within a feature class. Sometimes you will...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2009/05/14/Better-Raster-Clipping-Options-in-ArcGIS-_1320_-Part-B.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=5916" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Beginner/default.aspx">Beginner</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Raster/default.aspx">Raster</category></item><item><title>Geodatabase Presentations from the 2009 Dev Summit</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2009/03/27/Geodatabase-Presentations-from-the-2009-Dev-Summit.aspx</link><pubDate>Fri, 27 Mar 2009 20:27:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:4325</guid><dc:creator>JonMurphy</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/4325.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=4325</wfw:commentRss><description>This week ESRI hosted the annual Developer Summit down in Palm Springs. The geodatabase team was there to answer user’s questions, announce a few of the 9.4 projects that are in the works, and give several technical sessions. I’ve gathered the slides...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2009/03/27/Geodatabase-Presentations-from-the-2009-Dev-Summit.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=4325" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Geodatabase+Essentials/default.aspx">Geodatabase Essentials</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Raster/default.aspx">Raster</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Versioning/default.aspx">Versioning</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Replication/default.aspx">Replication</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/2009+Developer+Summit/default.aspx">2009 Developer Summit</category></item><item><title>New Geodatabase SDK Article: “Common Geodatabase API Programming Mistakes”</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2009/03/20/Geodatabase-ThreatDown_3A00_-_1C20_Common-Geodatabase-API-Programming-Mistakes_1D20_.aspx</link><pubDate>Fri, 20 Mar 2009 22:53:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:4201</guid><dc:creator>brentardenpierce</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/4201.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=4201</wfw:commentRss><description>We’ve added a new article to the Geodatabase SDK entitled “Common Geodatabase API Programming Mistakes”. It’s a list of mistakes we’ve seen a lot of users make and that will cause either unwanted behavior or a performance hit. This is going to be a living...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2009/03/20/Geodatabase-ThreatDown_3A00_-_1C20_Common-Geodatabase-API-Programming-Mistakes_1D20_.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=4201" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Heads+up_2100_/default.aspx">Heads up!</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/2009+Developer+Summit/default.aspx">2009 Developer Summit</category></item><item><title>Application Developers Tuning Tip: Keeping Datasets Open</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2009/01/30/Application-Developers-Tuning-Tip_3A00_-Keeping-Datasets-Open.aspx</link><pubDate>Fri, 30 Jan 2009 19:59:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:3627</guid><dc:creator>brentardenpierce</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/3627.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=3627</wfw:commentRss><description>Opening a dataset such as a table or a feature class from a geodatabase can be an expensive operation. With this in mind, application developers should try to minimize the number of times they open datasets by following these patterns: Keep datasets from...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2009/01/30/Application-Developers-Tuning-Tip_3A00_-Keeping-Datasets-Open.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=3627" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Using the ComReleaser to manage the lifetime of cursors in .NET</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/12/18/Using-the-ComReleaser-to-manage-the-lifetime-of-cursors-in-.NET.aspx</link><pubDate>Thu, 18 Dec 2008 20:36:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:3365</guid><dc:creator>brentardenpierce</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/3365.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=3365</wfw:commentRss><description>Geodatabase cursors should always be explicitly destroyed in a runtime environment that uses garbage collection. The rule of thumb is to always release a COM object as soon as the application is done using the reference. This is especially important with...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/12/18/Using-the-ComReleaser-to-manage-the-lifetime-of-cursors-in-.NET.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=3365" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Advanced/default.aspx">Advanced</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/.NET/default.aspx">.NET</category></item><item><title>Geodatabase replication and compress</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/11/25/Geodatabase-replication-and-compress.aspx</link><pubDate>Tue, 25 Nov 2008 17:15:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:3073</guid><dc:creator>JonMurphy</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/3073.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=3073</wfw:commentRss><description>There is new documentation available which talks about some best practices when using the compress command while also employing geodatabase replication. Compress is a process run periodically by an ArcSDE administrator to reduce the size of the geodatabase...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/11/25/Geodatabase-replication-and-compress.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=3073" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Intermediate/default.aspx">Intermediate</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/ArcSDE/default.aspx">ArcSDE</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Replication/default.aspx">Replication</category></item><item><title>Migrating your existing data into the Geodatabase</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/11/11/Migrating-your-existing-data-into-the-Geodatabase.aspx</link><pubDate>Tue, 11 Nov 2008 23:15:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:2972</guid><dc:creator>JonMurphy</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/2972.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=2972</wfw:commentRss><description>While I was at the user conference earlier this year I was getting a lot of questions about migrating to the geodatabase from other data formats. I talked it over with Derek Law and he thought he’d make a podcast about it (we’ll link to that podcast when...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/11/11/Migrating-your-existing-data-into-the-Geodatabase.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=2972" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Beginner/default.aspx">Beginner</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/GP/default.aspx">GP</category></item><item><title>New help topics provided on geodatabase replication</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/10/13/New-help-topics-provided-on-geodatabase-replication.aspx</link><pubDate>Mon, 13 Oct 2008 23:05:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:2783</guid><dc:creator>JonMurphy</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/2783.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=2783</wfw:commentRss><description>More information on geodatabase replication has recently been added to the help system and to KB articles. This should help address some of the more commonly asked questions. The following describes the new information and where to find it: Replicating...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/10/13/New-help-topics-provided-on-geodatabase-replication.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=2783" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Replication/default.aspx">Replication</category></item><item><title>Working with the Connect and Disconnect commands when editing a Geometric Network</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/09/25/Working-with-the-Connect-and-Disconnect-commands-when-editing-a-Geometric-Network.aspx</link><pubDate>Thu, 25 Sep 2008 18:04:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:2690</guid><dc:creator>brentardenpierce</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/2690.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=2690</wfw:commentRss><description>The following post was contributed by Craig Gillgrass a product engineer on the geodatabase team who spends the lion’s share of his time working with geometric networks. The topic of when to use the Connect and Disconnect commands when editing geometric...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/09/25/Working-with-the-Connect-and-Disconnect-commands-when-editing-a-Geometric-Network.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=2690" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Geodatabase+Essentials/default.aspx">Geodatabase Essentials</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Geometric+Network/default.aspx">Geometric Network</category></item><item><title>ArcGIS Image Server vs ArcSDE - Comparison of managed raster datasets</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/09/12/ArcGIS-Image-Server-vs-ArcSDE-_2D00_-Comparison-of-managed-raster-datasets.aspx</link><pubDate>Fri, 12 Sep 2008 18:51:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:2639</guid><dc:creator>JonMurphy</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/2639.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=2639</wfw:commentRss><description>Given the response to our last raster post and the interest in image server, I talked with the Raster team to see if we could do a follow up post which compared storing rasters in a geodatabase to using image server. Melanie Harlow, a product engineer...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/09/12/ArcGIS-Image-Server-vs-ArcSDE-_2D00_-Comparison-of-managed-raster-datasets.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=2639" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Raster/default.aspx">Raster</category></item><item><title>Why should I be making direct connections to an ArcSDE geodatabase?</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/09/05/Why-should-I-be-making-direct-connections-to-an-ArcSDE-geodatabase_3F00_.aspx</link><pubDate>Fri, 05 Sep 2008 23:35:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:2603</guid><dc:creator>brentardenpierce</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/2603.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=2603</wfw:commentRss><description>As I was at the UC this year talking with geodatabase users, it became clear to me that there are still a large number of geodatabase users out there who are connecting to an ArcSDE geodatabase through an application server connection. While both connection...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/09/05/Why-should-I-be-making-direct-connections-to-an-ArcSDE-geodatabase_3F00_.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=2603" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/ArcSDE/default.aspx">ArcSDE</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Direct+Connect/default.aspx">Direct Connect</category></item><item><title>Road Ahead - New workflow for mosaicking raster datasets</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/05/22/New-workflow-for-mosaicking-raster-datasets.aspx</link><pubDate>Thu, 22 May 2008 20:57:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:2211</guid><dc:creator>JonMurphy</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/2211.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=2211</wfw:commentRss><description>The following post was written by Simon Woo, a product engineer on the geodatabase team specializing in Raster support in the geodatabase. Previous versions of ArcGIS have provided various mosaicking workflows. We’ve tried to make the mosaicking experience...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/05/22/New-workflow-for-mosaicking-raster-datasets.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=2211" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Road+Ahead/default.aspx">Road Ahead</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Raster/default.aspx">Raster</category></item><item><title>Developer Tips - Qualified field names in ArcSDE</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/04/30/Qualified-field-names-in-ArcSDE.aspx</link><pubDate>Wed, 30 Apr 2008 19:13:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:2125</guid><dc:creator>JonMurphy</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/2125.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=2125</wfw:commentRss><description>This post was provided by geodatabase Product Engineer James MacKay. There are fourteen field names that cause fields to behave slightly different in ArcSDE. They are: AREA POINTS FID EMINX EMINY EMINZ MIN_MEASURE LEN NUMOFPTS ENTITY EMAXX EMAXY EMAXZ...(&lt;a href="http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/04/30/Qualified-field-names-in-ArcSDE.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=2125" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Intermediate/default.aspx">Intermediate</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category></item><item><title>Developer Tips - Using the Field Checker</title><link>http://blogs.esri.com/Dev/blogs/geodatabase/archive/2008/04/11/Developer-Tips-_2D00_-Using-the-Field-Checker.aspx</link><pubDate>Fri, 11 Apr 2008 20:40:00 GMT</pubDate><guid isPermaLink="false">b60b3f0a-e2bd-4be5-8a18-822c697649ab:1691</guid><dc:creator>brentardenpierce</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.esri.com/Dev/blogs/geodatabase/comments/1691.aspx</comments><wfw:commentRss>http://blogs.esri.com/Dev/blogs/geodatabase/commentrss.aspx?PostID=1691</wfw:commentRss><description>








&lt;P class=style1&gt;&lt;EM&gt;This post was written by geodatabase Product Engineer James MacKay. James works on the geodatabase development team and is responsible for a lot of the geodatabase SDK that is generated.&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;The &lt;A href="http://edndoc.esri.com/arcobjects/9.2/ComponentHelp/esriGeoDatabase/IFieldChecker.htm"&gt;IFieldChecker&lt;/A&gt; interface provides a way to validate fields for a specific workspace before they’re created. Reserved keywords, special characters and maximum field name lengths are properties that vary between different types of workspaces and DBMSs; the field checker will not only detect fields that violate these rules, but it will generate a “fixed” fields collection with a similar (but valid) name. There are three common cases where field checkers are useful:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://edndoc.esri.com/arcobjects/9.2/NET/de90607e-de22-4985-82e3-816be41d4fb6.htm"&gt;Creating new feature classes or tables&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://edndoc.esri.com/arcobjects/9.2/ComponentHelp/esriGeodatabase/IClass_AddField.htm"&gt;Adding fields to existing datasets&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Generate target dataset fields for use in the &lt;A href="http://edndoc.esri.com/arcobjects/9.2/NET/84a1a5d7-3fa3-452e-976c-8bb57ea5de5b.htm"&gt;feature data converter&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;A field checker should &lt;EM&gt;&lt;STRONG&gt;always&lt;/STRONG&gt;&lt;/EM&gt; be used whenever an application allows users to manually enter field names, but it’s a good defensive programming pattern to use them all of the time. The following code shows how to validate fields prior to a CreateTable or CreateFeatureClass call.&lt;/P&gt;
&lt;P&gt;Geoprocessing users: The geoprocessor also exposes field checking capability. See &lt;A href="http://webhelp.esri.com/arcgisdesktop/9.2/index.cfm?id=898&amp;amp;pid=880&amp;amp;topicname=Validating_table_and_field_names"&gt;this article&lt;/A&gt; for more information.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;FONT-FAMILY:'Courier New';"&gt;public&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;IFields&lt;/SPAN&gt; ValidateFields(&lt;SPAN style="COLOR:#2b91af;"&gt;IWorkspace&lt;/SPAN&gt; workspace, &lt;SPAN style="COLOR:#2b91af;"&gt;IFields&lt;/SPAN&gt; fields)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;{&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:green;"&gt;// Create and initialize a field checker.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:#2b91af;"&gt;IFieldChecker&lt;/SPAN&gt; fieldChecker = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;FieldCheckerClass&lt;/SPAN&gt;();&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldChecker.ValidateWorkspace = workspace;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:green;"&gt;// Generate a validated fields collection.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:#2b91af;"&gt;IFields&lt;/SPAN&gt; validatedFields = &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:#2b91af;"&gt;IEnumFieldError&lt;/SPAN&gt; enumFieldError = &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fieldChecker.Validate(fields, &lt;SPAN style="COLOR:blue;"&gt;out&lt;/SPAN&gt; enumFieldError, &lt;SPAN style="COLOR:blue;"&gt;out&lt;/SPAN&gt; validatedFields);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:green;"&gt;// You can either notify the user of any errors or just skip this step.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:#2b91af;"&gt;IFieldError&lt;/SPAN&gt; fieldError = &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;while&lt;/SPAN&gt; ((fieldError = enumFieldError.Next()) != &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt;)&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:#2b91af;"&gt;Console&lt;/SPAN&gt;.WriteLine(&lt;SPAN style="COLOR:#a31515;"&gt;"Error in field {0}: {1}"&lt;/SPAN&gt;, fieldError.FieldIndex, fieldError.FieldError);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:green;"&gt;// Return the validated fields.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;return&lt;/SPAN&gt; validatedFields;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BORDER-RIGHT:medium none;PADDING-RIGHT:0in;BORDER-TOP:medium none;PADDING-LEFT:0in;PADDING-BOTTOM:0in;BORDER-LEFT:medium none;PADDING-TOP:0in;BORDER-BOTTOM:medium none;"&gt;&lt;SPAN style="FONT-SIZE:10pt;FONT-FAMILY:'Courier New';"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.esri.com/Dev/aggbug.aspx?PostID=1691" width="1" height="1"&gt;</description><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Intermediate/default.aspx">Intermediate</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Developers/default.aspx">Developers</category><category domain="http://blogs.esri.com/Dev/blogs/geodatabase/archive/tags/Best+Practices/default.aspx">Best Practices</category></item></channel></rss>