@prefix rdf:	<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ns1:	<http://www.openlinksw.com/dataspace/person/kidehen@openlinksw.com#> .
@prefix foaf:	<http://xmlns.com/foaf/0.1/> .
ns1:this	rdf:type	foaf:Person .
@prefix atom:	<http://atomowl.org/ontologies/atomrdf#> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D>	rdf:type	atom:Feed .
@prefix sioct:	<http://rdfs.org/sioc/types#> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D>	rdf:type	sioct:Weblog .
@prefix rdfs:	<http://www.w3.org/2000/01/rdf-schema#> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D>	rdfs:label	"kidehen@openlinksw.com's BLOG [127] description" .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106>	rdf:type	atom:Entry ,
		sioct:BlogPost .
@prefix dc:	<http://purl.org/dc/elements/1.1/> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106>	dc:title	"Microsoft Data Access API Backgrounder: ODBC " ;
	foaf:maker	ns1:this ;
	rdfs:label	"Microsoft Data Access API Backgrounder: ODBC " .
@prefix dt:	<http://www.w3.org/2001/XMLSchema#> .
@prefix dcterms:	<http://purl.org/dc/terms/> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106>	dcterms:created	"2007-01-03T18:20:45Z"^^dt:dateTime ;
	dcterms:modified	"2007-01-03T13:35:51.000001-05:00"^^dt:dateTime .
@prefix sioc:	<http://rdfs.org/sioc/ns#> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106>	sioc:id	"4d8b82441fd49d14802aae0eb9e4510b" ;
	sioc:link	<http://www.openlinksw.com/blog/kidehen@openlinksw.com/blog/?id=1106> ;
	sioc:content	"Mike Pizzo has commenced a much needed 4-part article series covering the history of Microsoft&amp;#39;s various Data Access related APIs. Naturally, Part 1 covers: Open Database Connectivity (ODBC) which is the first of a series of purpose specific Data Access APIs.\n\nHere is a very important excerpt:\n\n\n...\nAnd then something happened. Visual Basic became popular as a scriptable &amp;quot;automation language&amp;quot;. ODBC, being a C-style interface, was not directly consumable from VB. However, some of you clever folks figured out that Microsoft Access supported executing queries against ODBC Datasources, and that Access did support scriptable automation through its Data Access Object (DAO) API. Voila! Now you could write applications against ODBC sources using VB.\n\nHowever, DAO went through Access&amp;#39;s internal &amp;quot;Jet&amp;quot; (Joint Engine Technology) database engine, which defaulted to building local keysets for each result in order to do advanced query processing and cursoring against the remote data. This was fine if you needed that functionality, but significant performance overhead and additional round trips when you didn&amp;#39;t.\n\nEnter the Visual Basic team who, responding to customer demand for better performance against ODBC sources, came up with something called Remote Data Objects (RDO). RDO implemented the same DAO programming patterns directly against ODBC, rather than going through Jet. RDO was extremely popular among VB developers, but the fact that we had two different sets of automation objects for accessing ODBC sources caused confusion.\n\nBut apparently not enough confusion, because our solution was to introduce &amp;quot;ODBCDirect&amp;quot;. Despite its name, ODBCDirect was not a new API; it was just a mode we added to DAO that set defaults in such a way as to avoid the overhead of building keysets and such\n...\n\n\n\nTo this very day (unfortunately!) ODBC has been maligned by the perpetuated misunderstanding of JET&amp;#39;s DAO layer that sits atop ODBC providing advanced query processing (i.e. Virtual DBMS functionality) alongside a client-side keyset cursor model implementation." ;
	atom:title	"Microsoft Data Access API Backgrounder: ODBC " .
@prefix ns10:	<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106>	sioc:has_creator	ns10:this ;
	sioc:has_container	<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D> ;
	sioc:links_to	<http://blogs.msdn.com/data/archive/2006/12/05/data-access-api-of-the-day-part-i.aspx> .
@prefix ns11:	<http://en.wikipedia.org/wiki/> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106>	sioc:links_to	ns11:Open_Database_Connectivity ;
	atom:source	<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D> ;
	atom:author	ns1:this ;
	atom:published	"2007-01-03T18:20:45Z" ;
	atom:updated	"2007-01-03T18:35:51Z" .
@prefix opl:	<http://www.openlinksw.com/schema/attribution#> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106>	opl:isDescribedUsing	<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106/sioc.rdf> .
ns10:this	rdf:type	sioc:User .
@prefix rdf:	<http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ns1:	<http://www.openlinksw.com/dataspace/person/kidehen@openlinksw.com#> .
@prefix foaf:	<http://xmlns.com/foaf/0.1/> .
ns1:this	rdf:type	foaf:Person ;
	foaf:made	<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106> .
@prefix atom:	<http://atomowl.org/ontologies/atomrdf#> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D>	rdf:type	atom:Feed .
@prefix sioct:	<http://rdfs.org/sioc/types#> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D>	rdf:type	sioct:Weblog .
@prefix rdfs:	<http://www.w3.org/2000/01/rdf-schema#> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D>	rdfs:label	"kidehen@openlinksw.com's BLOG [127] description" .
@prefix sioc:	<http://rdfs.org/sioc/ns#> .
<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D>	sioc:container_of	<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106> ;
	atom:entry	<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106> ;
	atom:contains	<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106> .
@prefix ns7:	<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com#> .
ns7:this	rdf:type	sioc:User ;
	sioc:creator_of	<http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1106> .

