<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>nateirwin.net &#187; Database</title>
	<atom:link href="http://www.nateirwin.net/topics/database/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nateirwin.net</link>
	<description>spatially and technically enabled</description>
	<lastBuildDate>Thu, 18 Mar 2010 15:20:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Virtual Earth and SQL Server 2008 &#8211; A Match Made in Heaven?</title>
		<link>http://www.nateirwin.net/2008/05/01/virtual-earth-and-sql-server-2008-a-match-made-in-heaven/</link>
		<comments>http://www.nateirwin.net/2008/05/01/virtual-earth-and-sql-server-2008-a-match-made-in-heaven/#comments</comments>
		<pubDate>Thu, 01 May 2008 12:34:45 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Web Mapping]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[Virtual Earth]]></category>

		<guid isPermaLink="false">/post/Virtual-Earth-and-SQL-Server-2008-A-Match-Made-in-Heaven.aspx</guid>
		<description><![CDATA[Johannes Kebeck has an interesting post showing how to get the benefits of the MapPoint Web Service method, FindNearRoute, through the use of SQL Server 2008. He uses a newly-added feature of the Virtual Earth API that allows developers to gain access to a complete returned route-geometry when performing a route. This new feature, however, [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nateirwin.net%2F2008%2F05%2F01%2Fvirtual-earth-and-sql-server-2008-a-match-made-in-heaven%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nateirwin.net%2F2008%2F05%2F01%2Fvirtual-earth-and-sql-server-2008-a-match-made-in-heaven%2F&amp;source=nateirwin&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p align="center"><img id="id" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://images.nateirwin.net/VirtualEarthandSQLServer2008AMatchMadein_AC0F/WebServicesArchitecture.png" border="0" alt="WebServicesArchitecture" width="437" height="237" /></p>
<p>Johannes Kebeck has an <a href="http://johanneskebeck.spaces.live.com/blog/cns!42E1F70205EC8A96!4504.entry" target="_blank">interesting post</a> showing how to get the benefits of the MapPoint Web Service method, FindNearRoute, through the use of SQL Server 2008. He uses a newly-added feature of the Virtual Earth API that allows developers to gain access to a complete returned route-geometry when performing a route. This new feature, however, does require that the mapping application use <a href="http://msdn.microsoft.com/en-us/library/bb924353.aspx" target="_blank">customer identification</a> (which, in turn, requires that you sign up for a <a href="https://mappoint-css.live.com/mwssignup" target="_blank">Virtual Earth platform developer account</a>).</p>
<p>If you haven&#8217;t checked out Johannes&#8217; blog lately, you might want to give it a go now. He has written a whole slew of Virtual Earth and SQL Server 2008 posts lately, and there&#8217;s a wealth of good information there.</p>
<p>We&#8217;ve already started using SQL Server 2008 in some of our development applications, and are planning on taking advantage of ArcSDE 9.3&#8242;s ability to utilize SQL Server 2008&#8242;s spatial data types. We&#8217;re hoping that by doing this, we&#8217;ll be able to offer access to our geometries through both traditional GIS tools (ArcGIS Desktop for our shop) and web services (ADO.Net Data Services returning JSON and XML and other services built on top of WCF). As we&#8217;re already using ArcGIS Server 9.3&#8242;s REST capabilities from within our JavaScript/Virtual Earth applications, if we can &#8220;close the circle&#8221; by tying SQL Server 2008 and Virtual Earth together in a robust and meaningful way, we may just be able to hit the proverbial bulls-eye. We&#8217;ve already written quite a bit of code that brings these technologies together, but are still deciding on the best overall approach.</p>
<p>One thing that is still unclear to me is if we&#8217;re going to utilize ESRI&#8217;s tools heavily or try to avoid them as much as possible and stick with all of the non-ESRI .NET technologies. In a lot of ways, we&#8217;re already going the latter route (saying ArcGIS Server 9.2 still leaves a bad taste in my mouth), but I&#8217;ve been impressed with ArcGIS Server 9.3 so far, so I&#8217;m withholding judgement until we see how the new set of technologies perform in a couple of months.</p>
<p>And from the Microsoft camp, I expect that more direct integration with SQL Server 2008 will be coming soon to the Virtual Earth API. I haven&#8217;t, however, heard of any solid dates yet. Any integration will be much-welcomed, as it will save us precious development time.</p>
<p>Whichever route we decide to take, it&#8217;s pretty obvious that now is a great time to be working in web mapping. Especially if you&#8217;re able to take advantage of all the integration points available through .NET.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nateirwin.net/2008/05/01/virtual-earth-and-sql-server-2008-a-match-made-in-heaven/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Microsoft SQL Server 2008 November CTP</title>
		<link>http://www.nateirwin.net/2007/11/19/microsoft-sql-server-2008-november-ctp/</link>
		<comments>http://www.nateirwin.net/2007/11/19/microsoft-sql-server-2008-november-ctp/#comments</comments>
		<pubDate>Mon, 19 Nov 2007 20:11:00 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">/post/Microsoft-SQL-Server-2008-November-CTP.aspx</guid>
		<description><![CDATA[Those of you who use Microsoft SQL Server will be interested to hear that the SQL Server team has just released the November Community Technology Preview of SQL Server 2008 &#8220;Katmai&#8221;. Of special note for us GIS types is that this is the first publicly available release that includes support for the new spatial data [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nateirwin.net%2F2007%2F11%2F19%2Fmicrosoft-sql-server-2008-november-ctp%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nateirwin.net%2F2007%2F11%2F19%2Fmicrosoft-sql-server-2008-november-ctp%2F&amp;source=nateirwin&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>Those of you who use Microsoft SQL Server will be interested to hear that the SQL Server team has just released the November Community Technology Preview of SQL Server 2008 &#8220;Katmai&#8221;. Of special note for us GIS types is that this is the first publicly available release that includes support for the new spatial data types.</p>
<p>The last couple of weeks have seen a slew of news about this upcoming release, including some pretty interesting demonstrations of the new spatial data types. A good blog to keep your eye on is <a href="http://blogs.msdn.com/isaac/archive/2007/11/01/after-the-webcast.aspx" target="_blank">Isaac&#8217;s MSDN blog</a>; he recently linked to a webcast that he gave on the 1st of November, titled &#8220;Introduction to Spatial in SQL Server&#8221;. This is a good place to start if you&#8217;re just being introduced to the new capabilities.</p>
<p>Here&#8217;s a <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3BF4C5CA-B905-4EBC-8901-1D4C1D1DA884&amp;displaylang=en" target="_blank">link to the download</a>.</p>
<p>I&#8217;ll be playing around with Virtual Earth and this release quite a bit over the next month and will post about my experiences here.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nateirwin.net/2007/11/19/microsoft-sql-server-2008-november-ctp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ESRI White Paper &#8211; &#8216;An Overview of Distributing Data with Geodatabases&#8217;</title>
		<link>http://www.nateirwin.net/2007/07/18/esri-white-paper-an-overview-of-distributing-data-with-geodatabases/</link>
		<comments>http://www.nateirwin.net/2007/07/18/esri-white-paper-an-overview-of-distributing-data-with-geodatabases/#comments</comments>
		<pubDate>Wed, 18 Jul 2007 15:02:29 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">/post/ESRI-White-Paper-An-Overview-of-Distributing-Data-with-Geodatabases.aspx</guid>
		<description><![CDATA[This past week, ESRI released several new white papers. The one that I&#8217;m most interested in is &#8220;An Overview of Distributing Data with Geodatabases&#8220;. This is the white paper that was promised during the &#8220;Managing Distributed Data with Geodatabase Replication&#8221; session at the ESRI 2007 UC. The first several pages are full of the now [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nateirwin.net%2F2007%2F07%2F18%2Fesri-white-paper-an-overview-of-distributing-data-with-geodatabases%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nateirwin.net%2F2007%2F07%2F18%2Fesri-white-paper-an-overview-of-distributing-data-with-geodatabases%2F&amp;source=nateirwin&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>This past week, ESRI released several new white papers. The one that I&#8217;m most interested in is &#8220;<a href="http://downloads.esri.com/support/whitepapers/other_/ArcGISServer_Distributed_Install_061407.pdf" target="_blank">An Overview of Distributing Data with Geodatabases</a>&#8220;. This is the white paper that was <a href="http://www.nateirwin.net/A+NotSoConcise+Summary+Of+My+Week+At+The+2007+ESRI+UC.aspx" target="_blank">promised</a> during the &#8220;Managing Distributed Data with Geodatabase Replication&#8221; session at the ESRI 2007 UC.</p>
<p>The first several pages are full of the now obligatory replication/synchronization diagrams which, while maybe helpful to some, I&#8217;ve seen at least a hundred times now. The post then, however, goes into the guts of the different techniques, including geodatabase replication, DBMS replication, and simple copying and loading of data. Here&#8217;s a quick summary of each technique:</p>
<ul>
<li><span style="text-decoration: underline;">Geodatabase replication</span> replicates data from a source (parent) geodatabase to a destination (child) geodatabase and creates the infrastructure to allow for tracking and synchronization of changes. Geodatabase replication is fairly powerful; it allows parameters to be defined that restrict the data that are replicated. At 9.2, geodatabase replication can only occur on SDE geodatabases, but at 9.3 SDE geodatabases will be able replicate one-way with a file or personal geodatabase. There are different types of replicas, including check-out/check-in, one-way, and two-way.</li>
</ul>
<blockquote><p>Developers can work with replicas through the GeoDatabaseDistributed ArcObjects library components. If you just need coarse-grained access to the geodatabase, you can use the GeodataServer object model. If you need more fine-grained access, however, you will want to use some of the older ArcObjects object models which allow you more capabilities but restricts you to working with geodatabases that live on your Local Area Network.</p>
<p>Geodatabase synchronization can be automated using the synchronize changes geoprocessing tool (create a Python script, call it from a script (.bat or otherwise), and schedule it using Windows scheduler).</p>
<p>In cases where large amounts of data are stored in a geodatabase and need to be moved to a remote office and synchronized, it may be best to detach the database from the parent, send it to the child (mail it, etc.), and then reattach it. You can then use the &#8216;register with existing data&#8217; tool to create the replica.</p></blockquote>
<ul>
<li><span style="text-decoration: underline;">DBMS replication</span> is good for replicating an entire geodatabase to a read-only geodatabase in a connected system. Therefore, this is a good option for load balancing and fail over. The major limitation is the inability to choose what gets replicated.</li>
</ul>
<blockquote><p>To setup and use DBMS replication, you must first understand how a geodatabase interacts with its underlying database.</p></blockquote>
<ul>
<li><span style="text-decoration: underline;">Data copying and loading</span> is the &#8220;low-tech&#8221; way of setting up replication between multiple geodatabases. There are multiple geoprocessing tools available to help automate and schedule this process. Using this method, however, there is not a great way to verify data integrity during the replication. You can write your own code to avoid redundancy, but this is a lot of work compared to just using one of the other replication techniques.</li>
</ul>
<p>This white paper didn&#8217;t go as in-depth as I was hoping for. It does, however, tie the concepts together, and it contains links to other helpful resources. We&#8217;ve been using one-way replication successfully for a while now, and are looking to setup several two-way replicas with some remote offices here shortly. I&#8217;m sure you&#8217;ll hear back from me about our experiences.</p>
<p>Here are a couple of other resources to help you learn more about distributed geodatabases. The technical brief is especially useful:</p>
<ul>
<li>Link to the &#8220;<a href="http://downloads.esri.com/support/whitepapers/other_/ArcGISServer_Distributed_Install_061407.pdf" target="_blank">An Overview of Distributing Data with Geodatabases</a>&#8221; white paper</li>
<li>ESRI&#8217;s &#8220;Geodatabase Replication: An Overview&#8221; Podcast (<a href="http://www.esri.com/news/podcasts/transcripts/geodatabasereplication_anoverview.pdf" target="_blank">link to transcript</a>)</li>
<li>ESRI Systems Integration Technical Brief: &#8220;<a href="http://www.esri.com/news/podcasts/transcripts/geodatabasereplication_anoverview.pdf" target="_blank">ArcSDE Geodatabase Replication Overview</a>&#8220;</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.nateirwin.net/2007/07/18/esri-white-paper-an-overview-of-distributing-data-with-geodatabases/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connecting MapDotNet Server 2007 to ArcSDE 9.2</title>
		<link>http://www.nateirwin.net/2007/05/11/connecting-mapdotnet-server-2007-to-arcsde-92/</link>
		<comments>http://www.nateirwin.net/2007/05/11/connecting-mapdotnet-server-2007-to-arcsde-92/#comments</comments>
		<pubDate>Fri, 11 May 2007 19:48:35 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Web Mapping]]></category>
		<category><![CDATA[ArcSDE]]></category>
		<category><![CDATA[MapDotNet Server]]></category>

		<guid isPermaLink="false">/post/Connecting-MapDotNet-Server-2007-to-ArcSDE-92.aspx</guid>
		<description><![CDATA[I&#8217;ve been experimenting quite a bit recently with MapDotNet Server 2007 (from hereon, referred to as MDNS), and I&#8217;ll say that I&#8217;m pretty impressed. Building maps in MDNS is admittedly more difficult than simply publishing an .mxd with ArcGIS Server &#8211; MDNS uses MapServer&#8217;s map file format, but the power of gaining access to Virtual [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nateirwin.net%2F2007%2F05%2F11%2Fconnecting-mapdotnet-server-2007-to-arcsde-92%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nateirwin.net%2F2007%2F05%2F11%2Fconnecting-mapdotnet-server-2007-to-arcsde-92%2F&amp;source=nateirwin&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve been experimenting quite a bit recently with MapDotNet Server 2007 (from hereon, referred to as MDNS), and I&#8217;ll say that I&#8217;m pretty impressed. Building maps in MDNS is admittedly more difficult than simply publishing an .mxd with ArcGIS Server &#8211; MDNS uses MapServer&#8217;s map file format, but the power of gaining access to Virtual Earth base data far outweighs the trouble that it takes to build the application and the performance is killer when compared to the alternatives. One thing I&#8217;ve noticed, though, is that the documentation/<a href="http://support.mapdotnet.com" target="_blank">support site</a> for MDNS still needs a lot of work. It&#8217;s obvious that <a href="http://www.goisc.com" target="_blank">ISC</a> has put some work into their help in the recent past, but there are still lots of topics that need to be covered in much more detail.</p>
<p>One of the topics that is only briefly covered in the <a href="http://support.mapdotnet.com/wiki" target="_blank">support portal wiki</a> is integrating ArcSDE with an MDNS application. The steps are briefly outlined in the &#8220;<a href="http://support.mapdotnet.com/wiki/Wiki%20Pages/ArcSDE%20Integration.aspx" target="_blank">ArcSDE Integration</a>&#8221; wiki entry, but there really needs to be a comprehensive step-by-step walkthrough for a topic as important as this. If it were a <a href="http://en.wikipedia.org/wiki/WIKI" target="_blank">true wiki</a>, I would be able to edit the page and update the documentation for others to use, but I have yet to find a way to contribute. So I&#8217;m going to put up my little walkthrough here (as much for myself as for anyone else) and hope that it either gets integrated into the support site or that ISC updates their documentation soon.</p>
<p>There are three steps to the process, first you need to download the &#8220;libmap.dll.sde92&#8243; dll (it wasn&#8217;t included with the MDNS 2007 6.0 release for some reason), second you need to enable ArcSDE connections via MapDotNet Server 2007, and last you need to connect your specific application to an SDE geodatabase. Make sure that you perform all of the steps on both your development machine and your web server.</p>
<ol>
<li>Download the &#8220;libmap.dll.sde92&#8243; dll:
<ol>
<li>Click on the <a href="http://support.mapdotnet.com/MDNForum/Lists/MapDotNet%20Forum/Attachments/125/libmap.dll.zip">following link</a> to download a .zip with the dll in it.</li>
<li>Unzip the dll and put it in the &#8220;\IGNORED_LIBMAP_DLLS&#8221; directory, which is located at &#8220;C:\Program Files\MapDotNet Server\v6.0\MapDotNetServer Web Service\bin\IGNORED_LIBMAP_DLLS&#8221; in a default install.</li>
</ol>
</li>
<li>Enable ArcSDE Connections via MapDotNet Server 2007:
<ol>
<li>Install the ArcSDE 9.2 C SDK:
<ol>
<li>The C SDK is included with your ArcSDE 9.2 install media.</li>
<li>Initiate the install by either inserting the disk and using the Autorun installation GUI or browsing to the &#8220;\ArcSDE\windows\ArcSdeSDK&#8221; directory and double-clicking &#8220;setup.exe&#8221;.</li>
<li>Choose &#8220;ArcSDE C SDK&#8221; from the installation window and let it run to completion.</li>
<li>Add a Path variable to point to the ArcSDE\bin directory:
<ol>
<li>In Windows, right-click on &#8220;My Computer&#8221; and select &#8220;Properties&#8221; from the context menu.</li>
<li>Click on the &#8220;Advanced&#8221; tab and then the &#8220;Environment Variables&#8221; button near the bottom of the window.</li>
<li>In the &#8220;System variables&#8221; section, scroll down to the &#8220;Path&#8221; variable and double-click it to open the &#8220;Edit System Variable&#8221; window.</li>
<li>Go all the way to the end of the &#8220;Variable value:&#8221; field and add the following to the end: &#8220;;C:\ArcGIS\ArcSDE\bin&#8221; (without the quotations).</li>
<li>Click &#8220;OK&#8221; three times to exit out of all the dialogs.</li>
</ol>
</li>
<li>Reset IIS by opening up a command line and running &#8220;iisreset&#8221;.</li>
</ol>
</li>
<li>Browse to the &#8220;\IGNORED_LIBMAP_DLLS&#8221; directory, which is &#8211; again &#8211; located at &#8220;C:\Program Files\MapDotNet Server\v6.0\MapDotNetServer Web Service\bin\IGNORED_LIBMAP_DLLS&#8221; in a default install, and copy and paste the &#8220;libmap.dll.sde91&#8243; dll into the &#8220;\bin&#8221; directory.</li>
<li>Stop the &#8220;World Wide Web Publishing&#8221; service, as it likely has a lock (via the aspnet_wp) on the &#8220;libmap.dll&#8221;:
<ol>
<li>Right-click on &#8220;My Computer&#8221; and select &#8220;Manage&#8221;.</li>
<li>Expand the &#8220;Services and Applications&#8221; console.</li>
<li>Click on &#8220;Services&#8221;.</li>
<li>Scroll down to the bottom, right-click on &#8220;World Wide Web Publishing&#8221;, and select &#8220;Stop&#8221; from the context menu.</li>
</ol>
</li>
<li>Cut and paste the &#8220;libmap.dll&#8221; dll from the &#8220;\bin&#8221; directory into the &#8220;\IGNORED_LIBMAP_DLLS&#8221; directory (just for safe-keeping).</li>
<li>Rename the &#8220;libmap.dll.sde92&#8243; dll that you placed in the &#8220;\bin&#8221; directory to &#8220;libmap.dll&#8221;.</li>
<li>Restart the &#8220;World Wide Web Publishing&#8221; service:
<ol>
<li>Back in &#8220;Computer Management&#8221; (see #3 above), restart the service by right-clicking on it and selecting &#8220;Start&#8221; from the context menu.</li>
</ol>
</li>
</ol>
</li>
<li>Connect Your Application to an SDE Geodatabase:
<ol>
<li>Open your application&#8217;s .map file using either the &#8220;MapFile Generator&#8221; or your preferred text editor.</li>
<li>Add a new layer to your .mapfile, using the following connection information (replace the red with your data source information):</li>
</ol>
</li>
</ol>
<blockquote><p>CONNECTION &#8220;<span style="color: #ff0000;">SERVER</span>,port:<span style="color: #ff0000;">PORTNUMBER</span>,<span style="color: #ff0000;">DATABASE</span>,<span style="color: #ff0000;">USERNAME</span>,<span style="color: #ff0000;">PASSWORD</span>&#8221;<br />
CONNECTIONTYPE SDE<br />
DATA &#8220;<span style="color: #ff0000;">DATABASE</span>.<span style="color: #ff0000;">USERNAME</span>.<span style="color: #ff0000;">NAMEOFFEATURECLASS</span>,SHAPE,SDE.<span style="color: #ff0000;">DEFAULT</span>&#8221;<br />
PROCESSING &#8220;CLOSE_CONNECTION=DEFER&#8221;</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.nateirwin.net/2007/05/11/connecting-mapdotnet-server-2007-to-arcsde-92/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geodatabase Replication and Synchronization</title>
		<link>http://www.nateirwin.net/2006/10/13/geodatabase-replication-and-synchronization/</link>
		<comments>http://www.nateirwin.net/2006/10/13/geodatabase-replication-and-synchronization/#comments</comments>
		<pubDate>Fri, 13 Oct 2006 03:56:37 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">/post/Geodatabase-Replication-and-Synchronization.aspx</guid>
		<description><![CDATA[As many of you probably already know, ESRI&#8217;s upcoming ArcGIS 9.2 release will greatly enhance the ability of an organization to expand its enterprise GIS to multiple sites through the use of geodatabase replication and synchronization. This ability comes with the workgroup and enterprise versions of ArcSDE; it does not work with personal or file-based [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nateirwin.net%2F2006%2F10%2F13%2Fgeodatabase-replication-and-synchronization%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nateirwin.net%2F2006%2F10%2F13%2Fgeodatabase-replication-and-synchronization%2F&amp;source=nateirwin&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>As many of you probably already know, ESRI&#8217;s upcoming ArcGIS 9.2 release will greatly enhance the ability of an organization to expand its enterprise GIS to multiple sites through the use of geodatabase replication and synchronization. This ability comes with the workgroup and enterprise versions of ArcSDE; it does not work with personal or file-based geodatabases.</p>
<p>Data have to be registered with the geodatabase and versioned before they are replicated, and a globally unique identifier (GUID) has to be added to each table record to aid in the tracking of multiple copies of the same tables (feature classes). Thankfully, there are ways to limit the data that are synchronized between geodatabases, allowing for a database administrator to control the amount of bandwidth used &#8211; and the data exchanged &#8211; by replicating and synchronizing only the data that are needed.</p>
<p>As far as versions go, they are replicated and synchronized with the geodatabase, as well. This is obviously necessary, but I can see it being both a good and a bad thing, depending on how you look at it. One thing is for sure, though: the addition of these features to the geodatabase, while adding a tremendously useful resource to the toolset of a geodatabase administrator, adds another dimension of complexity to the SDE world.</p>
<p>I am currently working on a project that will eventually replicate a geodatabase between multiple (10-50) sites, including the management and replication/synchronization of over 300 versions of multiple enterprise datasets from these sites. Up until the 9.2 release, this project wasn&#8217;t a possibility for us, as many of the sites that we are focusing on have iffy &#8211; at best &#8211; network connectivity. Also, the check-in/out capabilities that currently exist in the ESRI world have problems that make them an undesirable solution in many situations.</p>
<p>I plan on detailing the progress of our project as it progresses. I&#8217;m sure we&#8217;ll run into many pitfalls and (hopefully) some triumphs along the way.</p>
<p><em><span style="font-size: xx-small;">Listening to <a href="http://www.amazon.com/exec/obidos/ASIN/B000EOTUY4/nateirwinnet-20">Calexico &#8211; Garden Ruin</a>&#8230;</span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nateirwin.net/2006/10/13/geodatabase-replication-and-synchronization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geodatabase Design and Documentation</title>
		<link>http://www.nateirwin.net/2006/09/07/geodatabase-design-and-documentation/</link>
		<comments>http://www.nateirwin.net/2006/09/07/geodatabase-design-and-documentation/#comments</comments>
		<pubDate>Thu, 07 Sep 2006 13:12:02 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">/post/Geodatabase-Design-and-Documentation.aspx</guid>
		<description><![CDATA[I&#8217;ve been looking for a better way to design, diagram, and document my geodatabase designs. Visio is my tool of choice for database design. It is easy to use and allows me to visualize and demonstrate the capabilities and limitations of my data model before actually creating the geodatabase. Using Visio, I can generate a [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nateirwin.net%2F2006%2F09%2F07%2Fgeodatabase-design-and-documentation%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nateirwin.net%2F2006%2F09%2F07%2Fgeodatabase-design-and-documentation%2F&amp;source=nateirwin&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve been looking for a better way to design, diagram, and document my geodatabase designs.</p>
<p>Visio is my tool of choice for database design. It is easy to use and allows me to visualize and demonstrate the capabilities and limitations of my data model before actually creating the geodatabase. Using Visio, I can generate a UML schema and export it to XMI. From there, it is possible to generate all of the objects that exist in the data model into a geodatabase. There are other tools available, in addition to Visio. I haven&#8217;t yet experimented with them, though.</p>
<p>For diagramming geodatabases that weren&#8217;t designed in Visio, I use <a href="http://arcscripts.esri.com/details.asp?dbid=13616" target="_blank">Geodatabase Diagrammer</a>, which is available for download on <a href="http://arcscripts.esri.com" target="_blank">ArcScripts</a>. This sweet little utility allows you to export a diagram straight out of a geodatabase (with the newest release, it supports both personal and enterprise) into Visio. It was initially developed as an internal ESRI tool, but was released to the public to help in the documentation of geodatabases. One problem that the tool has, though, is that it uses the default ESRI layout for the diagrams &#8211; which probably isn&#8217;t that big of a deal for most. Another weakness that I see is that, like Geodatabase Designer 2, you have to export the entire geodatabase schema. This likely isn&#8217;t much of a problem with personal geodatabases (or maybe it is for some???), but it can be a pain to export an entire SDE geodatabase schema out and then pick through the Visio model to get <em>just</em> the elements that you want in your diagram. I usually have more than one &#8220;data model&#8221; in my enterprise geodatabases, and would like to be able to select the feature classes that are associated with a particular model and get only those relationships classes and related tables that are tied to the model.</p>
<p>For documentation of geodatabases, I use Richie Carmichael&#8217;s (ESRI) <a href="http://arcscripts.esri.com/details.asp?dbid=13484" target="_blank">Geodatabase Designer 2</a>, and it works well for what it was designed to do. It allows you to import and export Geodatabase XML schemas and documents all of the tables (spatial and otherwise), subtypes, domains, relationships, and networks that exist in a geodatabase in both HTML and XML. One shortcoming that the tool has is the fact that, like the geodatabase diagrammer, you cannot pick and choose &#8220;parts&#8221; of a geodatabase to export. On the positive side, though, this is obviously a valuable tool. It would be really valuable if I could figure out how to convert the XML into a Visio model. If only we could reverse engineer an SDE geodatabase!</p>
<p>Bottomline from what I&#8217;ve found is that if you didn&#8217;t use UML to initially design your geodatabase, there is no single tool or method that will allow you to easily diagram your model. If you, however, did design your initial data model in Visio, you can then use that model as a visual tool and generate your geodatabase from it. To document all of the contents of the model, use Geodatabase Designer 2.</p>
<p>I would love to hear about other methods of designing and documenting geodatabases. Any ideas?</p>
<p>Helpful Links:</p>
<ul>
<li><a href="http://support.esri.com/index.cfm?fa=knowledgebase.documentation.viewDoc&amp;PID=43&amp;MetaID=658">Building Geodatabases with CASE Tools</a></li>
<li><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=3dd3f3be-656d-4830-a868-d0044406f57d&amp;DisplayLang=en">Visio 2003 UML to XMI Export Tool</a></li>
</ul>
<p><em><span style="font-size: xx-small;">Listening to <a href="http://www.amazon.com/exec/obidos/ASIN/B000002KD9/nateirwinnet-20">Neil Young &#8211; After the Gold Rush</a>&#8230;</span></em></p>
<p><em></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nateirwin.net/2006/09/07/geodatabase-design-and-documentation/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>PostgreSQL/PostGIS Installation</title>
		<link>http://www.nateirwin.net/2006/08/30/postgresqlpostgis-installation/</link>
		<comments>http://www.nateirwin.net/2006/08/30/postgresqlpostgis-installation/#comments</comments>
		<pubDate>Wed, 30 Aug 2006 04:38:00 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[PostgreSQL]]></category>

		<guid isPermaLink="false">/post/PostgreSQLPostGIS-Installation.aspx</guid>
		<description><![CDATA[I&#8217;ve worked with PostgreSQL for a while now, but everytime I perform a new install (usually with PostGIS added on soon after the initial install) I am amazed at how simple it is and how smoothly it goes. In the past, I&#8217;ve worked on some pretty complex database installs &#8211; especially complex, at least for [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nateirwin.net%2F2006%2F08%2F30%2Fpostgresqlpostgis-installation%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nateirwin.net%2F2006%2F08%2F30%2Fpostgresqlpostgis-installation%2F&amp;source=nateirwin&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>I&#8217;ve worked with <a href="http://www.postgresql.org/" target="_blank">PostgreSQL</a> for a while now, but everytime I perform a new<br />
install (usually with <a href="http://postgis.refractions.net/" target="_blank">PostGIS</a> added on soon after the initial install) I am amazed<br />
at how simple it is and how smoothly it goes. In the past, I&#8217;ve worked on some<br />
pretty complex database installs &#8211; especially complex, at least for me, when<br />
installing to a Linux system &#8211; but it really only takes a few minutes to get<br />
PostGIS up and running on a database on <strong><em>any</em></strong><br />
platform.</p>
<p>If you haven&#8217;t checked them out, you should go download them both now. And<br />
if you want an open source desktop interface, there are a number of options that<br />
plug directly into PostGIS, including <a href="http://qgis.org/" target="_blank">Quantum GIS</a> and <a href="http://udig.refractions.net/" target="_blank">uDig</a>. With them you can easily connect to a PostGIS database,<br />
and load (check out the Import Shapefiles to PostgreSQL plugin for Quantum<br />
GIS) and edit data. On top of this, you can greatly extend Quantum GIS&#8217;<br />
capabilities by using it as a graphical user interface for <a href="http://grass.ibiblio.org/index.php" target="_blank">GRASS</a>.</p>
<p>I agree with others that the major &#8220;gap&#8221; in the open source GIS arena is on<br />
the client side of things. At this point, there isn&#8217;t an interface that rivals<br />
the ArcGIS Desktop suite. The products that are available, though, do serve a<br />
purpose. And if you&#8217;re willing to put the time into learning and integrating<br />
them, they fill a huge niche that is left empty by ESRI.</p>
<p>As for the open source spatially-aware database, however, PostgreSQL and<br />
PostGIS offer a viable &#8211; albeit not as powerful &#8211; alternative to the expensive<br />
proprietary solutions. The two combined don&#8217;t work for every scenario, but they<br />
do work for a surprising number of cases.</p>
<p>More to come on all of these solutions later&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nateirwin.net/2006/08/30/postgresqlpostgis-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Preparing a SQL Server Database for ASP.NET</title>
		<link>http://www.nateirwin.net/2006/08/01/preparing-a-sql-server-database-for-aspnet/</link>
		<comments>http://www.nateirwin.net/2006/08/01/preparing-a-sql-server-database-for-aspnet/#comments</comments>
		<pubDate>Tue, 01 Aug 2006 02:04:19 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">/post/Preparing-a-SQL-Server-Database-for-ASPNET.aspx</guid>
		<description><![CDATA[A quick and easy way to prepare a SQL Server database for use in an ASP.NET application: Browse to and execute aspnet_reqsql.exe, which is located at: C:\Windows\Microsoft.NET\Framework\VersionOf.NETFramework\. Choose to &#8220;Configure SQL Server for application services&#8221; when prompted. Specify the server, instance name, database name, and the username and password of a database user with the [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nateirwin.net%2F2006%2F08%2F01%2Fpreparing-a-sql-server-database-for-aspnet%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nateirwin.net%2F2006%2F08%2F01%2Fpreparing-a-sql-server-database-for-aspnet%2F&amp;source=nateirwin&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<div><img src="http://www.nateirwin.net/images/aspnet_register.png" alt="" /></div>
<p>A quick and easy way to prepare a SQL Server database for use in an ASP.NET application:</p>
<ol>
<li>Browse to and execute aspnet_reqsql.exe, which is located at: C:\Windows\Microsoft.NET\Framework\<span style="color: #ff0000;">VersionOf.NETFramework</span>\.</li>
<li>Choose to &#8220;Configure SQL Server for application services&#8221; when prompted.</li>
<li>Specify the server, instance name, database name, and the username and password of a database user with the necessary permissions.</li>
<li>Complete the process by closing out the wizard.</li>
</ol>
<p><span style="font-size: xx-small;"><em>Listening to <a href="http://www.amazon.com/exec/obidos/ASIN/B000003TAW/nateirwinnet-20" target="_blank">Weezer &#8211; The Blue Album</a>&#8230;</em></span><br />
<em><span style="font-size: xx-small;"><br />
</span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.nateirwin.net/2006/08/01/preparing-a-sql-server-database-for-aspnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Connecting ASP.NET to a Named SQL Server Instance</title>
		<link>http://www.nateirwin.net/2006/07/19/connecting-aspnet-to-a-named-sql-server-instance/</link>
		<comments>http://www.nateirwin.net/2006/07/19/connecting-aspnet-to-a-named-sql-server-instance/#comments</comments>
		<pubDate>Wed, 19 Jul 2006 03:49:05 +0000</pubDate>
		<dc:creator>Nate</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">/post/Connecting-ASPNET-to-a-Named-SQL-Server-Instance.aspx</guid>
		<description><![CDATA[This may be obvious to most, but being new to ASP.NET &#8211; and relatively new to programming in general &#8211; I found it difficult to connect my ASP.NET application to a SQL Server instance. Looking at the available documentation, connecting should be easy. You simply create a connectionStrings element in your application&#8217;s web.config file and [...]]]></description>
			<content:encoded><![CDATA[<p></p><div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.nateirwin.net%2F2006%2F07%2F19%2Fconnecting-aspnet-to-a-named-sql-server-instance%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.nateirwin.net%2F2006%2F07%2F19%2Fconnecting-aspnet-to-a-named-sql-server-instance%2F&amp;source=nateirwin&amp;style=normal" height="61" width="50" /><br />
			</a>
		</div>
<p>This may be obvious to most, but being new to ASP.NET &#8211; and relatively new to programming in general &#8211; I found it difficult to connect my ASP.NET application to a SQL Server instance. Looking at the available documentation, connecting should be easy. You simply create a connectionStrings element in your application&#8217;s web.config file and point it to the right server and database, right?</p>
<p>Well, yeah, but only after clearing out the default inherited connection settings. Out of the box, ASP.NET points to a SQL Server 2005 instance named, of course, SQLEXPRESS. If you don&#8217;t have a SQLEXPRESS instance running on your server, you have to either change the machine.config file located at</p>
<p><span style="color: #ff0000;">SystemDrive</span>\WINDOWS\MICROSOFT.NET\Framework<span style="color: #ff0000;">XX</span>\v<span style="color: #ff0000;">X.X.XXXXX</span>\CONFIG</p>
<p>or clear out the inherited connection settings using the clear element and then add in your own connection settings to the web.config file in your web application. Here&#8217;s the code to clear out the inherited connection settings and connect your application to another &#8211; local &#8211; SQL Server database:</p>
<p>name=&#8221;LocalSqlServer&#8221;<br />
connectionString=&#8221;data source=.\<span style="color: #ff0000;">YourSQLServerInstance</span>;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|<span style="color: #ff0000;">YourDatabase.mdf</span>;User Instance=true&#8221;<br />
providerName=&#8221;System.Data.SqlClient&#8221;<br />
/&gt;</p>
<p>After you specify the correct connection settings, you should be able to use your SQL Server database to store your application&#8217;s data.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.nateirwin.net/2006/07/19/connecting-aspnet-to-a-named-sql-server-instance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.391 seconds -->
