http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/
Kingsley Idehen's Blog Data Space
I have seen the future and it's full of Linked Data! :-)
kidehen@openlinksw.com
kidehen@openlinksw.com
2024-03-29T14:18:55Z
Virtuoso Universal Server 08.03.3327
http://www.openlinksw.com:443/weblog/public/images/vbloglogo.gif
New ADO.NET 3.x Provider for Virtuoso Released (Update 2)
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2009-01-08#1514
2009-01-08T04:36:47Z
2009-01-08T09:12:50.000006-05:00
<p>I am pleased to announce the immediate availability of the <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtAdoNet35Provider" id="link-id142e7390">Virtuoso ADO.NET 3.5 data provider</a> for Microsoft's .NET platform.</p> <h3>What is it?</h3> <p>A data access driver/provider that provides conceptual <a href="http://dbpedia.org/resource/Entity" id="link-id11c36c00">entity</a> oriented access to <a href="http://dbpedia.org/resource/Relational_database_management_system" id="link-id12fb8618">RDBMS</a> data managed by Virtuoso. Naturally, it also uses Virtuoso's in-built virtual / <a href="http://dbpedia.org/resource/federated_database_system" id="link-id115bedc8">federated database</a> layer to provide access to <a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id15153c08">ODBC</a> and <a href="http://dbpedia.org/resource/Java_Database_Connectivity" id="link-id13418908">JDBC</a> accessible RDBMS engines such as: <a href="http://dbpedia.org/resource/Oracle_Database" id="link-id134d72f0">Oracle</a> (7.x to latest), <a href="http://dbpedia.org/resource/SQL" id="link-id15757b88">SQL</a> Server (4.2 to latest), <a href="http://dbpedia.org/resource/Sybase" id="link-id15ef8d48">Sybase</a>, IBM <a href="http://dbpedia.org/resource/IBM_Informix" id="link-id12f56aa0">Informix</a> (5.x to latest), IBM <a href="http://dbpedia.org/resource/IBM_DB2" id="link-id119feb38">DB2</a>, <a href="http://dbpedia.org/resource/Ingres" id="link-id14e3d6c8">Ingres</a> (6.x to latest), Progress (7.x to OpenEdge), <a href="http://dbpedia.org/resource/MySQL" id="link-id11295630">MySQL</a>, PostgreSQL, <a href="http://dbpedia.org/resource/Firebird_database_server" id="link-id12f40448">Firebird</a>, and others using our ODBC or JDBC bridge drivers.</p> <h3>Benefits?</h3> <h4>Technical:</h4> <p>It delivers an <a href="http://dbpedia.org/resource/Entity-attribute-value_model" id="link-id14012040">Entity-Attribute-Value + Classes & Relationships model</a> over disparate data sources that are materialized as .NET Entity Framework Objects, which are then consumable via ADO.NET Data Object Services, LINQ for Entities, and other ADO.NET data consumers.</p> <p>The provider is fully integrated into Visual Studio 2008 and delivers the same "ease of use" offered by Microsoft's own SQL Server provider, but across Virtuoso, Oracle, Sybase, DB2, Informix, Ingres, <a href="http://dbpedia.org/resource/Progress_4GL" id="link-id158d1fe8">Progress (OpenEdge</a>), MySQL, PostgreSQL, Firebird, and others. The same benefits also apply uniformly to Entity Frameworks compatibility.</p> <p> Bearing in mind that Virtuoso is a multi-model (hybrid) data manager, this also implies that you can use .NET Entity Frameworks against all data managed by Virtuoso. Remember, Virtuoso's SQL channel is a conduit to Virtuoso's core; thus, RDF (courtesy of <a href="http://esw.w3.org/topic/SPASQL" id="link-id133c9b70">SPASQL</a> as already implemented re. <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtJenaProvider" id="link-id11380b80">Jena</a>/<a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtSesame2Provider" id="link-id10fc0c88">Sesame</a>/<a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtRDFDriverRedland" id="link-id1390f730">Redland</a> providers), XML, and other data forms stored in Virtuoso also become accessible via .NET's Entity Frameworks.</p> <br /> <h4>Strategic:</h4> <p>You can choose which entity oriented data access model works best for you: RDF <a href="http://dbpedia.org/resource/Linked_Data" id="link-id151354f0">Linked Data</a> & <a href="http://dbpedia.org/resource/SPARQL" id="link-id15dc5eb0">SPARQL</a> or .NET Entity Frameworks & <a href="http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework#Entity_SQL" id="link-id14404e80">Entity SQL</a>. Either way, Virtuoso delivers a commercial grade, high-performance, secure, and scalable solution.</p> <br /> <h3>How do I use it?</h3> Simply follow one of guides below: <ul> <li> <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtEntityFrameworkSchoolDbWinFormApp" id="link-id15e5c580">Using Visual Studio 2008 & Virtuoso to build an Entity Frameworks based Windows forms application</a> </li> <li> <a href="http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/VirtUsingMsAdoNetDataServicesWithVirtuoso" id="link-id157912b0">Using Visual Studio 2008 & Virtuoso to build an ADO.NET Data Services based application</a> </li> </ul> <p> <b>Note:</b> When working with external or 3rd party databases, simply use the Virtuoso Conductor to link the external data source into Virtuoso. Once linked, the remote tables will simply be treated as though they are native Virtuoso tables leaving the <a href="http://dbpedia.org/resource/Virtual_Database" id="link-id15b04b18">virtual database</a> engine to handle the rest. This is similar to the role the Microsoft JET engine played in the early days of ODBC, so if you've ever linked an ODBC data source into Microsoft Access, you are ready to do the same using Virtuoso.</p> <h3>Related</h3> <ul> <li> <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1420" id="link-id160afdd0">Entity Oriented Data Access</a> </li> <li> <a href="http://www.openlinksw.com/dataspace/kidehen@openlinksw.com/weblog/kidehen@openlinksw.com%27s%20BLOG%20%5B127%5D/1474" id="link-id113eeb50">Yoda & the Data FORCE.</a> </li> </ul>
Linked Data enabling PHP Applications
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2008-04-10#1334
2008-04-10T18:09:49Z
2008-04-10T14:12:47-04:00
<p> <a href="http://myopenlink.net/dataspace/person/danieljohnlewis#this" id="link-id10820610">Daniel lewis</a> has penned a variation of post about <a href="http://vanirsystems.com/danielsblog/2008/04/10/simplified-adding-wordpress-blogs-into-the-linked-data-web-using-virtuoso/" id="link-id10827948">Linked Data enabling PHP applications</a> such as: <a href="http://dbpedia.org/resource/WordPress" id="link-id10426278">Wordpress</a>, <a href="http://dbpedia.org/resource/PhpBB" id="link-id13f431c0">phpBB3</a>, <a href="http://dbpedia.org/resource/MediaWiki" id="link-id10dd8760">MediaWiki</a> etc.</p> <p>Daniel simplifies my post by using diagrams to depict the different paths for <a href="http://dbpedia.org/resource/PHP" id="link-id10adcc08">PHP</a> based applications exposing <a href="http://dbpedia.org/resource/Linked_Data" id="link-id107b4e60">Linked Data</a> - especially those that already provide a significant amount of the content that drives <a href="http://dbpedia.org/resource/World_Wide_Web" id="link-id13b0ab48">Web</a> 2.0.</p> <p>If all the content in <a href="http://dbpedia.org/resource/World_Wide_Web" id="link-id0x1d499470">Web</a> 2.0 <a href="http://dbpedia.org/resource/Information" id="link-id12bd3b10">information</a> resources are distillable into discrete <a href="http://dbpedia.org/resource/Data" id="link-id10962060">data</a> objects endowed with <a href="http://dbpedia.org/resource/Hypertext_Transfer_Protocol" id="link-id176a30e8">HTTP</a> based IDs (URIs), with zero "<a href="http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&q=rdf%20tax&type=text&output=html" id="link-id1098bcd8">RDF handcrafting Tax</a>", what do we end up with? A <a href="http://dbpedia.org/resource/Giant_Global_Graph" id="link-id1372ce88">Giant Global Graph</a> of <a href="http://dbpedia.org/resource/Linked_Data" id="link-id0xa29f0658">Linked Data</a>; the <a href="http://dbpedia.org/resource/World_Wide_Web">Web</a> as a Database.</p> <p>So, what used to apply exclusively, within enterprise settings re. <a href="http://dbpedia.org/resource/Oracle_Database" id="link-id12d91448">Oracle</a>, <a href="http://dbpedia.org/resource/IBM_DB2" id="link-id13dd27d8">DB2</a>, <a href="http://dbpedia.org/resource/IBM_Informix" id="link-id108e6b98">Informix</a>, <a href="http://dbpedia.org/resource/Ingres" id="link-id13383708">Ingres</a>, <a href="http://dbpedia.org/resource/Sybase" id="link-idfed8aa8">Sybase</a>, <a href="http://dbpedia.org/resource/Microsoft_SQL_Server" id="link-id10b8b190">Microsoft SQL Server</a>, <a href="http://dbpedia.org/resource/MySQL" id="link-id13066ea8">MySQL</a>, PostrgeSQL, Progress Open Edge, <a href="http://dbpedia.org/resource/Firebird_database_server" id="link-id104f0a78">Firebird</a>, and others, now applies to the Web. The Web becomes the "<a href="http://dbpedia.org/resource/federated_database_system" id="link-id105a5340">Distributed Database</a> Bus" that connects database records across disparate databases (or <a href="http://dbpedia.org/resource/Data" id="link-id0xc706c68">Data</a> Spaces). These databases manage and expose records that are remotely accessible "by reference" via <a href="http://dbpedia.org/resource/Hypertext_Transfer_Protocol" id="link-id0x1c8f7fe0">HTTP</a>.</p> <p>As I've stated at every opportunity in the past, Web 2.0 is the greatest thing that every happened to the <a href="http://dbpedia.org/resource/Semantic_Web" id="link-id13d65278">Semantic Web</a> vision :-) Without the "<a href="http://www.openlinksw.com/weblog/public/search.vspx?blogid=127&q=Web%202.0%20%20conundrum&type=text&output=html" id="link-id100d16d0">Web 2.0 Data Silo Conundrum</a>" we wouldn't have the cry for "<a href="http://dbpedia.org/resource/Data">Data</a> Portability" that brings a lot of clarity to some fundamental Web 2.0 limitations that end-users ultimately find unacceptable.</p> <p> In the late '80s, the <a href="http://dbpedia.org/resource/SQL" id="link-idff4f0d0">SQL</a> <a href="http://dbpedia.org/resource/SQL_Access_Group" id="link-id138fbd40">Access Group</a> (now part of <a href="http://dbpedia.org/resource/X/Open" id="link-id104ee010">X</a>/<a href="http://dbpedia.org/resource/X/Open" id="link-id0xac9eab8">Open</a>) addressed a similar problem with <a href="http://dbpedia.org/resource/Relational_database_management_system" id="link-id106d2008">RDBMS</a> silos within the enterprise that lead to the SAG <a href="http://dbpedia.org/resource/Call_Level_Interface" id="link-id105d45d0">CLI</a> which is exists today as Open Database Connectivity.</p> <p>In a sense we now have WODBC (Web Open Database Connectivity), comprised of Web Services based CLIs and/or traditional back-end DBMS CLIs (<a href="http://dbpedia.org/resource/Open_Database_Connectivity" id="link-id13f58708">ODBC</a>, <a href="http://dbpedia.org/resource/Java_Database_Connectivity" id="link-id10aa81e0">JDBC</a>, <a href="http://dbpedia.org/resource/ADO.NET" id="link-id5fddb68">ADO</a>.<a href="http://dbpedia.org/resource/ADO.NET" id="link-id0x9f085a10">NET</a>, OLE-DB, or Native), Query Language (<a href="http://dbpedia.org/resource/SPARQL" id="link-id10adb5c8">SPARQL</a> Query Language), and a Wire Protocol (<a href="http://dbpedia.org/resource/Hypertext_Transfer_Protocol">HTTP</a> based <a href="http://www.w3.org/TR/rdf-sparql-protocol/" id="link-id126fa068">SPARQL Protocol</a>) delivering Web infrastructure equivalents of <a href="http://dbpedia.org/resource/SQL" id="link-id0x1d0a5fc8">SQL</a> and RDA, but much better, and with much broader scope for delivering profound value due to the Web's inherent openness. Today's <a href="http://dbpedia.org/resource/PHP" id="link-id0xc88ed68">PHP</a>, <a href="http://dbpedia.org/resource/Python_programming_language" id="link-id10a70530">Python</a>, <a href="http://dbpedia.org/resource/Ruby_programming_language" id="link-id13d9da18">Ruby</a>, <a href="http://dbpedia.org/resource/Tcl" id="link-id10a3c2a8">Tcl</a>, <a href="http://dbpedia.org/resource/Perl" id="link-id13e1b6f0">Perl</a>, <a href="http://dbpedia.org/resource/ASP.NET" id="link-id10810388">ASP</a>.<a href="http://dbpedia.org/resource/ASP.NET" id="link-id0xa22ce378">NET</a> developer is the enterprise <a href="http://dbpedia.org/resource/4GL" id="link-id1396a500">4GL</a> developer of yore, without enterprise confinement. We could even be talking about <a href="http://dbpedia.org/resource/5GL" id="link-id1077f250">5GL</a> development once the <a href="http://dbpedia.org/resource/Linked_Data">Linked Data</a> interaction is meshed with dynamic languages (delivering higher levels of abstraction at the language and data interaction levels). Even the underlying schemas and basic design will evolve from <a href="http://dbpedia.org/resource/Closed_world_assumption" id="link-id10b280c8">Closed World</a> (solely) to a mesh of Closed & <a href="http://dbpedia.org/resource/Open_world_assumption" id="link-id104b9978">Open World</a> view schemas.</p>
Birds of a Feather Flock Together - Mac OS X & Rails
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-10-20#1065
2006-10-20T23:55:40Z
2006-10-22T19:21:17.000001-04:00
<p>A very cool v<a href="http://www.apple.com/education/whymac/compsci/video.html">ideo promo for Ruby on Rails and Mac OS X</a>, or should I say: 37 Signals & Apple :-) Either way, very cool!</p> <p>BTW - We have just released a collection of <a href="http://rubyforge.org/projects/odbc-rails/">High-Performance Data Providers for ActiveRecord</a>. Our providers deliver </p> <blockquote>Consistent Functionality</blockquote> to RoR developers across <a href="http://virtuoso.openlinksw.com/wiki/main/">Virtuoso</a>, Oracle, SQL Server, Sybase, DB2, Ingres, Informix, and others without compromising performance or cross platform portability.
"Free" Databases: Express vs. Open-Source RDBMSs
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2006-05-05#968
2006-05-05T16:02:17Z
2006-07-21T07:21:57.000006-04:00
<p>Very detailed and insightful peek into the state of affairs re. database engines (Open & Closed Source).</p> <p>I added the missing piece regarding the "Virtuoso Conductor" (the Web based Admin UI for Virtuoso) to the original post below. I also added a link to our live SPARQL Demo so that anyone interested can start playing around with SPARQL and SPARQL integrated into SQL right away.</p> <p>Another good thing about this post is the vast amount of valuable links that it contains. To really appreciate this point simply visit my Linkblog (excuse the current layout :-) - a Tab if you come in via the front door of this <a href="http://www.infoworld.com/opinions/index.html">Data Space</a> (what I used to call <a href="http://www.openlinksw.com/blog/%7Ekidehen/">My Weblog Home Page</a>).</p> <blockquote> <p> <a href="http://oakleafblog.blogspot.com/2006/05/free-databases-express-vs-open-source.html">"Free" Databases: Express vs. Open-Source RDBMSs</a>: "<span style="font-family: verdana;">Open-source relational database management systems (RDBMSs) are gaining IT mindshare at a rapid pace. As an example, <em>BusinessWeek</em>'s February 6, 2006 '</span> <a href="http://www.businessweek.com/technology/content/feb2006/tc20060206_918648.htm"><span style="font-family: verdana;">Taking On the Database Giants</span> </a><span style="font-family: verdana;">' article asks 'Can open-source upstarts compete with Oracle, IBM, and Microsoft?' and then provides the answer: 'It's an uphill battle, but customers are starting to look at the alternatives.'</span> <br /> <span style="font-family: Verdana;"></span> <br /> <span style="font-family: Verdana;">There's no shortage of open-source alternatives to look at. The <em>BusinessWeek</em> article concentrates on <a href="http://www.mysql.com/">MySQL</a>, which <em>BW</em> says 'is trying to be the Ikea of the database world: cheap, needs some assembly, but has a sleek, modern design and does the job.' The article also discusses <a href="http://www.postgresql.org/">Postgre[SQL]</a> and <a href="http://www.ingres.com/products/Prod_Ingres_2006.html">Ingres</a>, as well as <a href="http://www.enterprisedb.com/">EnterpriseDB</a>, an Oracle clone created from PostgreSQL code*. Sun includes <a href="http://www.sun.com/software/solaris/postgres.jsp">PostgreSQL with Solaris 10</a> and, as of April 6, 2006, with <a href="http://docs.sun.com/app/docs/doc/819-2183/6n4g726uc?a=view">Solaris Express</a>.**</span> <br /> <span style="font-family: Verdana;"></span> <br /> <span style="font-family: Verdana;"><span style="font-size: 85%;">*Frank Batten, Jr., the investor who originally funded Red Hat, invested a reported </span> <a href="http://www.theinquirer.net/?article=28201"><span style="font-size: 85%;">$16 million into Great Bridge</span> </a><span style="font-size: 85%;"> with the hope of making a business out of providing paid support to PostgreSQL users. </span> <a href="http://news.com.com/2100-1001-272715.html"><span style="font-size: 85%;">Great Bridge stayed in business only 18 months</span> </a><span style="font-size: 85%;">, having </span> <a href="http://news.com.com/2100-1001-268915.html"><span style="font-size: 85%;">missed an opportunity to sell the business to Red Hat</span> </a><span style="font-size: 85%;"> and finding that selling </span> <a href="http://news.com.com/2100-1001-269729.html"><span style="font-size: 85%;">$50,000-per-year support packages</span> </a><span style="font-size: 85%;"> for an open-source database wasn't easy. As Batten concluded, 'We could not get customers to pay us big dollars for support contracts.' Perhaps EnterpriseDB will be more successful with a choice of </span> <a href="http://www.enterprisedb.com/shop.do?cID=10000&pID=10001"><span style="font-size: 85%;">$5,000, $3,000, or $1,000 annual support subscriptions</span> </a><span style="font-size: 85%;">.</span> </span> <br /> <span style="font-family: Verdana;"></span><span style="font-family: Verdana;"></span><span style="font-family: Verdana;"></span> <br /> <span style="font-family: Verdana; font-size: 85%;">**Interestingly, <a href="http://www.sun.com/smi/Press/sunflash/2005-11/sunflash.20051115.4.xml">Oracle announced in November 2005</a> that Solaris 10 is 'its preferred development and deployment platform for most x64 architectures, including x64 (x86, 64-bit) AMD Opteron and Intel Xeon processor-based systems and Sun's UltraSPARC(R)-based systems.'</span> <br /> <br /> <span style="font-family: Verdana;">There is a surfeit of reviews of current MySQL, PostgreSQL andâto a lesser extentâIngres implementations. These three open-source RDBMSs come with their own or third-party management tools. These systems compete against free versions of commercial (proprietary) databases: <a href="http://msdn.microsoft.com/vstudio/express/sql/">SQL Server 2005 Express Edition</a> (and its MSDE 2000 and 1.0 predecessors), <a href="http://www.oracle.com/technology/products/database/xe/index.html" target="_blank">Oracle Database 10g Express Edition</a>, <a href="http://www-306.ibm.com/software/data/db2/udb/db2express/download.html" target="_blank">IBM DB2 Express-C</a>, and <a href="http://www.sybase.com/linux_promo" target="_blank">Sybase ASE Express Edition for Linux</a> where database size and processor count limitations aren't important. Click <a href="http://www.ftponline.com/special/sqlserver/rjennings-overview/table4.aspx">here</a> for a summary of recent <em>InfoWorld</em> reviews of the full versions of these four databases plus MySQL, which should be valid for Express editions also. The <a href="http://www.ftponline.com/special/sqlserver/">FTPOnline Special Report</a> article, 'Microsoft SQL Server Turns 17,' that contains the preceding table is <a href="http://www.ftponline.com/special/sqlserver/rjennings-overview/">here</a> (requires registration.)</span> <br /> <br /> </p> <p> <strong><span style="font-family: verdana;">SQL Server 2005 Express Edition SP-1 Advanced Features</span> </strong> </p> <p> <span style="font-family: Verdana;"><a href="http://www.microsoft.com/downloads/details.aspx?familyid=4C6BA9FD-319A-4887-BC75-3B02B5E48A40&displaylang=en">SQL Server 2005 Express Edition with Advanced Features</a> enhances SQL Server 2005 Express Edition (SQL Express or SSX) dramatically, so it deserves special treatment here. SQL Express gains full text indexing and now supports SQL Server Reporting Services (SSRS) on the local SSX instance. The SP-1 with Advanced Features setup package, which Microsoft released on April 18, 2006, installs the release version of SQL Server Management Studio Express (SSMSE) and the full version of Business Intelligence Development Studio (BIDS) for designing and editing SSRS reports. My '<a href="http://www.ftponline.com/special/sqlserver/rjennings-sp1/">Install SP-1 for SQL Server 2005 and Express</a>' article for FTPOnline's <a href="http://www.ftponline.com/special/sqlserver/">SQL Server Special Report</a> provides detailed, illustrated installation instructions for and related information about the release version of SP-1. SP-1 makes SSX the most capable of all currently available Express editions of commercial RDBMSs for Windows.</span> </p> <p> <strong><span style="font-family: verdana;">OpenLink Software's Virtuoso Open-Source Edition</span> </strong> <br /> <span style="font-family: verdana;"></span> <br /> <span style="font-family: verdana;"><a href="http://openlinksw.com/">OpenLink Software</a> announced an <a href="http://virtuoso.openlinksw.com/wiki/main/Main/">open-source version</a> of it's <a href="http://virtuoso.openlinksw.com/">Virtuoso Universal Server</a> commercial DBMS on April 11, 2006. On the initial date of this post, May 2, 2006, Virtuoso Open-Source Edition (VOS) was virtually under the radar as an open-source product. According to <a href="http://www.openlinksw.com/press/VOSPressRelease.htm">this press release</a>, the new edition includes:</span> <span style="font-family: Verdana;"></span> </p> <blockquote> <span style="font-family: Verdana;"></span> </blockquote> <blockquote></blockquote> <blockquote></blockquote> <ul> <li> <a href="http://demo.openlinksw.com/sparql_demo/">SPARQL compliant RDF Triple Store</a> </li> <li>SQL-200n Object-Relational Database Engine (SQL, XML, and Free Text) </li> <li>Integrated BPEL Server and Enterprise Service Bus</li> <li>WebDAV and Native File Server </li> <li>Web Application Server that supports PHP, Perl, Python, ASP.NET, JSP, etc. </li> <li>Runtime Hosting for Microsoft .NET, Mono, and Java </li> </ul>VOS only lacks the virtual server and replication features that are offered by the commercial edition. VOS includes a Web-based administration tool called the "Virtuoso Conductor" According to <a href="http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&id=951&sid=&realm=">Kingsley Idehen's Weblog</a>, 'The Virtuoso build scripts have been successfully tested on Mac OS X (Universal Binary Target), Linux, FreeBSD, and Solaris (AIX, HP-UX, and True64 UNIX will follow soon). A Windows Visual Studio project file is also in the works (ETA some time this week).'<br /> <br /> <em>InfoWorld</em>'s Jon Udell has tracked Virtuoso's progress since <a href="http://www.infoworld.com/article/02/04/12/020415plvirtuoso_1.html">2002</a>, with an <a href="http://www.infoworld.com/article/03/03/21/12virtuoso_1.html">additional article in 2003</a> and a <a href="http://weblog.infoworld.com/udell/2006/04/28.html#a1437">one-hour podcast with Kingsley Idehen</a> on April 26, 2006. A major talking point for Virtuoso is its support for Atom 0.3 syndication and publication, Atom 1.0 syndication and (forthcoming) publication, and future support for Google's <a href="http://code.google.com/apis/gdata/overview.html">GData protocol</a>, as mentioned in <a href="http://www.openlinksw.com/blog/%7Ekidehen/index.vspx?page=&id=965">this Idehen post</a>. Yahoo!'s <a href="http://jeremy.zawodny.com/blog/archives/006687.html">Jeremy Zawodny</a> points out that the 'fingerprints' of <a href="http://oakleafblog.blogspot.com/2005/11/adam-bosworth-learning-from-web-and.html">Adam Bosworth</a>, Google's VP of Engineering and the primary force behind the development of Microsoft Access, 'are all over GData.' Click <a href="http://search.blogger.com/?as_q=bosworth&ie=UTF-8&ui=blg&bl_url=oakleafblog.blogspot.com&x=50&y=10">here</a> to display a list of all OakLeaf posts that mention Adam Bosworth.<br /> <br />One application for the GData protocol is querying and updating the Google Base database independently of the Google Web client, as mentioned by Jeremy: 'It's not about building an easier onramp to Google Base. ... Well, it is. But, again, that's the small stuff.' Click <a href="http://search.blogger.com/?as_q=%22google+base%22&ie=UTF-8&x=50&y=9&q=%22google+base%22+blogurl:oakleafblog.blogspot.com&filter=0&ui=blg&sa=N&start=0">here</a> for a list of posts about my experiences with Google Base. Watch for a future OakLeaf post on the subject as the GData APIs gain ground.<br /> <span style="font-family: Verdana;"></span> <br /> <span style="font-family: Verdana;"><strong>Open-Source and Free Embedded Database Contenders</strong> </span> <br /> <span style="font-family: Verdana;"></span> <br /> <span style="font-family: Verdana;">Open-source and free embedded SQL databases are gaining importance as the number and types of mobile devices and OSs proliferate. Embedded databases usually consist of Java classes or Windows DLLs that are designed to minimize file size and memory consumption. Embedded databases avoid the installation hassles, heavy resource usage and maintenance cost associated with client/server RDBMSs that run as an operating system service.</span> <br /> <br /> <span style="font-family: Verdana;">Andrew Hudson's December 2005 '<a href="http://www.theinquirer.net/?article=28201">Open Source databases rounded up and rodeoed</a>' review for The Enquirer provides brief descriptions of one commercial and eight open source database purveyors/products: Sleepycat, MySQL, PostgreSQL, Ingres, InnoBase, Firebird, IBM Cloudscape (a.k.a, Derby), Genezzo, and Oracle. Oracle <a href="http://www.sleepycat.com/">Sleepycat</a>* isn't an SQL Database, Oracle <a href="http://www.innodb.com/index.php">InnoDB</a>* is an OEM database engine that's used by MySQL, and <a href="http://www.genezzo.com/">Genezzo</a> is a multi-user, multi-server distributed database engine written in Perl. These special-purpose databases are beyond the scope of this post.</span> <br /> <br /> <span style="font-family: Verdana;"><span style="font-size: 85%;">* Oracle <a href="http://www.oracle.com/sleepycat/index.html">purchased Sleepycat Software, Inc. in February 2006</a> and </span> <a href="http://www.oracle.com/innodb/index.html"><span style="font-size: 85%;">purchased Innobase OY in October 2005</span> </a><span style="font-size: 85%;">. The press release states: 'Oracle intends to continue developing the InnoDB technology and expand our commitment to open source software.' </span> </span> <br /> <span style="font-family: Verdana; font-size: 85%;"></span> <br /> <span style="font-family: Verdana;"> <a href="http://db.apache.org/derby/"><strong>Derby</strong> </a> is an open-source release by the <a href="http://www.apache.org/">Apache Software Foundation</a> of the <a href="http://www.infoworld.com/article/04/08/03/HNcloudscape_1.html">Cloudscape Java-based database that IBM acquired</a> when it bought Informix in 2001. IBM offers a commercial release of Derby as <a href="http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0408cline/">IBM Cloudscape 10.1</a>. Derby is a Java class library that has a relatively light footprint (2 MB), which make it suitable for <a href="http://www-128.ibm.com/developerworks/db2/library/techarticle/dm-0503stumpf/">client/server synchronization</a> with the IBM DB2 Everyplace Sync Server in <a href="http://www-128.ibm.com/developerworks/library/wi-cloud/">mobile applications</a>. The IBM DB2 Everyplace Express Edition isn't open source or free*, so it doesn't qualify for this post. The same is true for the corresponding Sybase SQL Anywhere components.**</span> <br /> <br /> <br /> <p> <span style="font-family: verdana; font-size: 85%;">* IBM DB2 Everyplace Express Edition with synchronization costs $379 per server (up to two processors) and $79 per user. DB2 Everyplace Database Edition (without DB2 synchronization) is $49 per user. (Prices are based on those when </span> <a href="http://news.earthweb.com/wireless/article.php/3107101"><span style="font-family: verdana; font-size: 85%;">IBM announced version 8</span> </a><span style="font-family: verdana; font-size: 85%;"> in November 2003.)</span> </p> <p> <span style="font-family: verdana; font-size: 85%;">** Sybase's iAnywhere subsidiary calls SQL Anywhere 'the industry's leading mobile database.' A Sybase SQL Anywhere Personal DB seat license with synchronization to SQL Anywhere Server is $119; the cost without synchronization wasn't available from the Sybase Web site. Sybase SQL Anywhere and IBM DB2 Everyplace perform similar replication functions.</span> </p> <p> <span style="font-family: Verdana;">Sun's <a href="http://developers.sun.com/prodtech/javadb/"><strong>Java DB</strong></a>, another commercial version of Derby, comes with the <a href="http://www.sun.com/software/solaris/">Solaris Enterprise Edition</a>, which bundles Solaris 10, the Java Enterprise System, developer tools, desktop infrastructure and N1 management software. A recent Between the Lines blog entry by ZDNet's David Berlind waxes enthusiastic over the use of <a href="http://blogs.zdnet.com/BTL/?p=2298">Java DB embedded in a browser</a> to provide offline persistence. RedMonk analyst <a href="http://www.redmonk.com/jgovernor/archives/001151.html">James Governor</a> and <em>eWeek</em>'s <a href="http://www.eweek.com/article2/0,1895,1902407,00.asp">Lisa Vaas</a> wrote about the use of Java DB as a local data store when <a href="http://www.sauria.com/blog/2005/12/13#1440">Tim Bray announced Sun's Derby derivative</a> and <a href="http://blogs.sun.com/roller/page/FrancoisOrsini?entry=derby_apachecon_demo">Francois Orsini</a> demonstrated Java DB embedded in the Firefox browser at the ApacheCon 2005 conference.</span> <br /> <span style="font-family: Verdana;"></span> <br /> <span style="font-family: Verdana;"> <a href="http://www.firebirdsql.org/"><strong>Firebird</strong> </a> is derived from Borland's InterBase 6.0 code, the first commercial relational database management system (RDBMS) to be released as open source. Firebird has excellent support for SQL-92 and comes in three versions: Classic, SuperServer and Embedded for Windows, Linux, Solaris, HP-UX, FreeBSD and MacOS X. The embedded version has a 1.4-MB footprint. Release Candidate 1 for Firebird 2.0 became available on March 30, 2006 and is a major improvement over earlier versions. <a href="http://www.borland.com/us/products/interbase/index.html">Borland continues to promote InterBase</a>, now at version 7.5, as a small-footprint, embedded database with commercial Server and Client licenses.</span> <br /> <span style="font-family: Verdana;"></span> <br /> <span style="font-family: Verdana;"> <a href="http://www.sqlite.org/index.html"><strong>SQLite</strong> </a> is a featherweight C library for an embedded database that implements most SQL-92 entry- and transitional-level requirements (some through the JDBC driver) and supports transactions within a tiny 250-KB code footprint. <a href="http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers">Wrappers</a> support a multitude of languages and operating systems, including Windows CE, SmartPhone, Windows Mobile, and Win32. SQLite's primary <a href="http://www.sqlite.org/omitted.html">SQL-92 limitations</a> are lack of nested transactions, inability to alter a table design once committed (other than with RENAME TABLE and ADD COLUMN operations), and foreign-key constraints. SQLite provides read-only views, triggers, and 256-bit encryption of database files. A downside is the the entire database file is <a href="http://weblogs.asp.net/jgalloway/archive/2006/04/12/442615.aspx">locked when while a transaction is in progress</a>. SQLite uses file access permissions in lieu of GRANT and REVOKE commands. Using SQLite involves no license; its code is entirely in the public domain.</span> </p> <p> <span style="font-family: Verdana; font-size: 85%;">The Mozilla Foundation's <a href="http://wiki.mozilla.org/Mozilla2:Unified_Storage">Unified Storage wiki</a> says this about SQLite: 'SQLite will be the back end for the unified store [for Firefox]. Because it implements a SQL engine, we get querying 'for free', without having to invent our own query language or query execution system. Its code-size footprint is moderate (250k), but it will hopefully simplify much existing code so that the net code-size change should be smaller. It has exceptional performance, and supports concurrent access to the database. Finally, it is released into the public domain, meaning that we will have no licensing issues.'</span> </p> <p> <span style="font-family: verdana;">Vieka Technology, Inc.'s <a href="http://vieka.com/esql.htm"><strong>eSQL 2.11</strong></a> is a port of SQLite to Windows Mobile (Pocket PC and Smartphone) and Win32, and includes development tools for Windows devices and PCs, as well as a .NET native data provider. A conventional ODBC driver also is available. eSQL for Windows (Win32) is free for personal and commercial use; eSQL for Windows Mobile requires a license for commercial (for-profit or business) use.</span> </p> <p> <span style="font-family: verdana;"> <a href="http://hsqldb.org/"><strong>HSQLDB</strong> </a> isn't on most reviewers' radar, which is surprising because it's the default database for <a href="http://www.openoffice.org/">OpenOffice.org</a> (OOo) 2.0's <a href="http://www.openoffice.org/product/base.html">Base</a> suite member. HSQLDB 1.8.0.1 is an open-source (BSD license) Java dembedded database engine based on Thomas Mueller's original Hypersonic SQL Project. Using OOo's Base feature requires installing the Java 2.0 Runtime Engine (which is not open-source) or the presence of an alternative open-source engine, such as Kaffe. My prior posts about OOo Base and HSQLDB are <a href="http://oakleafblog.blogspot.com/2005/10/openoffice-base-20-vs-microsoft-access.html">here</a>, <a href="http://oakleafblog.blogspot.com/2005/10/openoffice-base-20-vs-microsoft-access_22.html">here</a> and <a href="http://oakleafblog.blogspot.com/2005/10/openoffice-20-base-matches-microsoft.html">here</a>.</span> </p> <p> <span style="font-family: verdana;">The <a href="http://hsqldb.sourceforge.net/web/hsqlDocsFrame.html">HSQLDB 1.8.0 documentation</a> on SourceForge states the following regarding SQL-92 and later conformance:</span> </p> <span style="font-family: verdana;"> <blockquote> <p> <span style="font-family: verdana;">HSQLDB 1.8.0 supports the dialect of SQL defined by SQL standards 92, 99 and 2003. This means where a feature of the standard is supported, e.g. left outer join, the syntax is that specified by the standard text. Many features of SQL92 and 99 up to Advanced Level are supported and here is support for most of SQL 2003 Foundation and several optional features of this standard. However, certain features of the Standards are not supported so no claim is made for full support of any level of the standards. </span> </p> </blockquote> <span style="font-family: verdana;"><span style="font-size: 85%;">Other less well-known embedded databases designed for or suited to mobile deployment are </span> <a href="http://www.mimer.com/leftright.asp?secId=172"><span style="font-size: 85%;">Mimer SQL Mobile</span> </a><span style="font-size: 85%;"> and </span> <a href="http://www.vistadb.net/"><span style="font-size: 85%;">VistaDB 2.1</span> </a><span style="font-size: 85%;">. Neither product is open-source and require paid licensing; VistaDB requires a small up-front payment by developers but offers royalty-free distribution.</span> </span> <br /> <br /> <span style="font-family: Verdana;">Java DB, Firebird embedded, SQLite and eSQL 2.11 are contenders for lightweight PC and mobile device database projects that aren't Windows-only.</span> <br /> <br /> <strong> <span style="font-family: verdana;">SQL Server 2005 Everywhere<br /> </span><span style="font-family: Verdana;"></span> </strong> <br /> <span style="font-family: verdana;">If you're a Windows developer, SQL Server Mobile is the logical embedded database choice for mobile applications for Pocket PCs and Smartphones. Microsoft's April 19, 2006 press release delivered the news that SQL Server 2005 Mobile Editon (SQL Mobile or SSM) would gain a big brotherâSQL Server 2005 Everywhere Edition. </span> <br /> <span style="font-family: verdana;"></span> <br /> <span style="font-family: verdana;">Currently, the SSM client is licensed (at no charge) to run in production on devices with Windows CE 5.0, Windows Mobile 2003 for Pocket PC or Windows Mobile 5.0, or on PCs with Windows XP Tablet Edition only. SSM also is licensed for development purposes on PCs running Visual Studio 2005.</span> <span style="font-family: verdana;"> Smart Device replication with SQL Server 2000 SP3 and later databases has been the most common application so far for SSM.<br /> <br /> </span><span style="font-family: verdana;">By the end of 2006, Microsoft will license SSE for use on <em>all</em> PCs running any Win32 version or the preceding device OSs. A version of SQL Server Management Studio Express (SSMSE)âupdated to support SSEâis expected to release by the end of the year. These features will qualify SSE as <em>the universal embedded database</em> for Windows client and smart-device applications. </span> <br /> <br /> <span style="font-family: verdana;">For more details on SSE, read <a href="http://weblogs.asp.net/jgalloway/archive/2006/04/11/442451.aspx">John Galloway's April 11, 2006 blog post</a> and my '<a href="http://www.ftponline.com/special/sqlserver/rjennings-mobile/">SQL Server 2005 Mobile Goes Everywhere</a>' article for the <a href="http://www.ftponline.com/special/sqlserver/">FTPOnline Special Report on SQL Server</a>.</span><span style="font-family: verdana;"></span>" <p>(Via <a href="http://oakleafblog.blogspot.com">OakLeaf Systems</a>.)</p> </span> </blockquote>
MacSOS Releases SyBrowser 6.2
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-11-19#642
2004-11-19T17:40:38Z
2006-06-22T08:56:58-04:00
<a href="http://feeds.feedburner.com/rbgarage?m=93">MacSOS Releases SyBrowser 6.2</a> <div xmlns="http://www.w3.org/1999/xhtml">Dr. Gerard Hammond of MacSOS announced the release of SyBrowser 6.2, a Macintosh application that can query Sybase, FrontBase, PostgreSQL, Oracle, ODBC and MS SQL databases hosted on OSX, UNIX, Linux, and Windows servers. <br><br>SyBrowser v6.2 features include: <br><br>- Added FrontBase database support. <br>- Added "Bachman" style ERD features (Tridents for 'Many' arms of a relationship, open circles for optional entities) <br>- The arms of a relationship now track their entities correctly in all directions. <br>- The arm of the selected relationship can be moved using the mouse or the keyboard <br>- Fixed bug with SQL auto-completion popup with multiple monitors. <br>- Enhanced the "Edit Relationships Info..." dialog. This dialog allows the properties of the selected relationship to be edited. <br>- The mouse cursor changes to reflect the draggable direction when resizing ERD tables, or dragging the various arms of a relationship. The selected arm of the selected relationship now has a circle for a handle. <br>- Documentation added. <br>- Printing the ERD panel has been improved. <br>- The Find dialog allows searching the returned datasets on the SQL panel and Results windows as well as the code in Sybase stored procedures. <br><br>SyBrowser Overview <br>SyBrowser is a table browser and alternative "isql" client for Sybase databases. It facilitates SQL generation thorough a point and click interface. SyBrowser also provides an overview of the tables in ODBC, MySQL, Oracle, FrontBase, PostgreSQL and MS SQL databases. Complex queries can be saved to disk for reuse. An ERD module allows the creation of visual representations of data models. <br><br>$89 Shareware from MacSOS, Australia <br>$49 upgrade from any previous version <br><br><a href="http://www.macsos.com.au/">http://www.macsos.com.au</a> </div> <div align="right">[via <a href="http://rbgarage.blogspot.com/">RB Garage News Feed</a>]</div>
SQL-XML Evaluation and Comparison By InfoWorld
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2004-04-26#531
2004-04-27T00:15:05Z
2006-06-22T08:56:58-04:00
<p>There is a <a href="http://www.infoworld.com/infoworld/article/04/04/23/17FExml_2.html">new evaluation and comparison </a>article from InfoWorld that compares the SQL-XML integration offerings of the major DBMS vendors (Oracle 10g, DB2 8.1, Sybase ASE 12.5, and SQL Server 2000)</p>
Interesting Database History: INFORMIX
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-26#192
2003-06-26T23:45:45Z
2006-06-22T08:56:58-04:00
<!--StartFragment --><A href="http://www.wikipedia.org/wiki/Informix">Interesting Database History: INFORMIX</A> <P class=subtitle>From <A href="http://www.wikipedia.org/">Wikipedia</A>, the free encyclopedia. </P> <P><STRONG>Informix</STRONG> is a <A class=internal title="Relational database" href="http://www.wikipedia.org/wiki/Relational_database">relational database</A> and for almost 20 years was also the name of the company who developed it. Informix DBMS was a development of the pioneering <A class=internal title=Ingres href="http://www.wikipedia.org/wiki/Ingres">Ingres</A> system that also led to <A class=internal title=Sybase href="http://www.wikipedia.org/wiki/Sybase">Sybase</A> and <A class=internal title="SQL Server" href="http://www.wikipedia.org/wiki/SQL_Server">SQL Server</A>, and was the #2 database system behind <A class=internal title=Oracle href="http://www.wikipedia.org/wiki/Oracle">Oracle</A> for some time in the 1990s. Their brush with success was surprisingly short-lived however, and by 2000 a series of management blunders had all but destroyed the company. In <A class=internal title=2001 href="http://www.wikipedia.org/wiki/2001">2001</A> they were purchased by <A class=internal title=IBM href="http://www.wikipedia.org/wiki/IBM">IBM</A> in order to gain access to Informix's existing market share and customer base. Long term plans to merge Informix technology with <A class=internal title=DB2 href="http://www.wikipedia.org/wiki/DB2">DB2</A> are in place, since the Informix Arrowhead project is now called DB2 Arrowhead. <A class=internal title=IBM href="http://www.wikipedia.org/wiki/IBM">IBM</A> is also commited in supporting older versions. </P> <P><A href="http://www.wikipedia.org/wiki/Informix">Read on.</A></P>
Ingres - A Forgotten Database, the untold story
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-17#279
2003-06-17T11:18:57Z
2006-06-22T08:56:58-04:00
<P><A href="http://www.it-director.com/article.php?articleid=10951">Ingres - A Forgottent Database The Untold Story</A></P> <P><EM>Ingres (technically, Advantage Ingres Enterprise) is, arguably, the forgotten database. There used to be five major databases: Oracle, DB2, Sybase, Informix and Ingres. Then along came Microsoft and, if you listened to most press comment (or the lack of it), you would think that there were only two of these left, plus SQL Server</EM>. [From <A href="http://www.it-director.com/article.php?articleid=10951">IT-Director</A>]</P> <BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"> <P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Oracle, Microsoft, and IBM would certainly like the illusion of a 3 horse race, as this is the only way they can induce Ingres, Informix, and Sybase users to jump ship, and this, even though database migrations are by far the most risk prone and problematic aspects of any IT infrastructure. <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></SPAN></P> <P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Here is the interesting logic from the self-made big three, if you want to take advanatage of new paradigms and technologies such as XML, Web Services, and anything else in the pipeline you have to move all your data out of these databases, and then get all the mission critical applications re-associated with one of these databases, and by the way when you do so it is advisable that you use native interfaces (so that sometime in the future you have no chance whatsoever of repeating this folly at their expense).<o:p></o:p></SPAN></P> <P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The simple fact of the matter (which the self-made big three do not want you to know) is that you can put ODBC, JDBC, even platform specific data access APIs such as OLE DB and ADO.NET atop any of these databases, and then explore and exploit the benefits of new technologies and paradigms as long as the tool pool supports one of more of these standards.<o:p></o:p></SPAN></P> <P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Unfortunately the no-brainer above appears to be the more difficult of the choices before decision makers. In other words, many would rather dig themselves into a deeper hole (unknowingly i can only presume) that ultimately leads to technology lock-in.<o:p></o:p></SPAN></P> <P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The biggest challenge before any RDBMS based infrastructure today isn't which of the self-made big three to migrate to wholesale, rather, how to make progressive use of the pool of disparate applications, and application databases that proliferate the enterprise. <o:p></o:p></SPAN></P> <P><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">This is another way of understanding the burgeoning market for Virtual Databases, which in my opiion present the new frontier in database technology.<o:p></o:p></SPAN></P> <P> </P></BLOCKQUOTE>
How Databases Changed The World
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-09#113
2003-06-09T09:28:17Z
2006-06-22T08:56:58-04:00
<a href="http://searchdatabase.techtarget.com/bestWebLinks/0,289521,sid13_tax281575,00.html"><b>How Databases Changed The World</b></a> by Tim DiChiara, Site Editor (<a href="http://www.searchdatabase.com">SearchDatabase.com</a>) How did the database industry get started? How has it changed the face of business? What were the key milestones, the big obstacles and the lessons learned? I recently came across an interesting panel discussion addressing these very issues, featuring many of the database pioneers and leaders of the last 30 years: Chris Date, Herb Edelstein, Bob Epstein, Ken Jacobs, Pat Selinger, Roger Sippl and Michael Stonebraker. It's available via streaming <a href="http://www.computerhistory.org/events/lectures/db_02102003/">video</a> and was recorded in February at the Computer History Museum in Mountain View, California. After a chatty and lengthy (45 minutes!) introduction only interesting to hardcore insiders, you can see Chris Date waxing eloquent about Ted Codd (complete with quotes from Shakespeare, no less), Herb Edelstein waxing eloquent about Chris Date, and Michael Stonebraker at his geeky best. There's also interesting trivia about the beginnings of SQL, the role of INGRES, why the relational model will stand the test of time and some friendly Oracle and IBM bashing (and Microsoft and Sybase and...). I urge all you data management pros interested in broadening your knowledge of the field to check it out! If you're still not satiated, don't forget about our collection of backgrounders about the DBMS and the data management industry.
How Databases Changed The World
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-06-09#266
2003-06-09T09:28:17Z
2006-06-22T08:56:58-04:00
<p><a href="http://searchdatabase.techtarget.com/bestWebLinks/0,289521,sid13_tax281575,00.html"><b>How Databases Changed The World</b></a> by Tim DiChiara, Site Editor (<a href="http://www.searchdatabase.com">SearchDatabase.com</a>) </p><p>How did the database industry get started? How has it changed the face of business? What were the key milestones, the big obstacles and the lessons learned? I recently came across an interesting panel discussion addressing these very issues, featuring many of the database pioneers and leaders of the last 30 years:</p><a href="http://en.wikipedia.org/wiki/Chris_Date">Chris Date</a><br /><a href="http://www.computerhistory.org/events/lectures/db_02102003/edelstein/">Herb Edelstein</a> <br /><a href="http://www.computerhistory.org/events/lectures/db_02102003/epstein/">Bob Epstein</a> (<a href="http://en.wikipedia.org/wiki/Sybase">Sybase</a> who shared code with Microsoft for remarketing on SQL Server on OS/2 which inevitably lead to the <a href="http://en.wikipedia.org/wiki/Microsoft_SQL_Server">Microsoft SQL Server</a> we know today)<br /><a href="http://www.oracle.com/corporate/pressroom/html/kjacobs.html">Ken Jacobs</a> (<a href="http://en.wikipedia.org/wiki/Oracle_database">Oracle</a>'s Dr. DBA)<br /><a href="http://www.witi.com/center/witimuseum/halloffame/2004/pselinger.php">Pat Selinger </a> (<a href="http://en.wikipedia.org/wiki/DB2">DB2</a> precursor called System R) <br /><a href="http://en.wikipedia.org/wiki/Informix">Roger Sippl</a> (<a href="http://en.wikipedia.org/wiki/Informix">Informix</a>)<br /><a href="http://en.wikipedia.org/wiki/Michael_Stonebraker">Michael Stonebraker</a> (<a href="http://en.wikipedia.org/wiki/Ingres">Ingres</a>, <a href="http://en.wikipedia.org/wiki/PostgreSQL">Postgres</a>, and <a href="http://mariposa.cs.berkeley.edu/about.html">Mariposa</a>)<br /><br />The event is available via streaming <a href="http://www.computerhistory.org/events/lectures/db_02102003/">video</a> and was recorded in February at the Computer History Museum in Mountain View, California. After a chatty and lengthy (45 minutes!) introduction only interesting to hardcore insiders, you can see Chris Date waxing eloquent about Ted Codd (complete with quotes from Shakespeare, no less), Herb Edelstein waxing eloquent about Chris Date, and Michael Stonebraker at his geeky best. There's also interesting trivia about the beginnings of SQL, the role of INGRES, why the relational model will stand the test of time and some friendly Oracle and IBM bashing (and Microsoft and Sybase and...). I urge all you data management pros interested in broadening your knowledge of the field to check it out! If you're still not satiated, don't forget about our collection of backgrounders about the DBMS and the data management industry. <a href="index.vspx?tag=sql" rel="tag" style="display:none;">sql</a><a href="index.vspx?tag=rdbms" rel="tag" style="display:none;">rdbms</a><a href="index.vspx?tag=database" rel="tag" style="display:none;">database</a>
<big>SQL Injection FAQ </big>
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-21#319
2003-05-21T22:27:45Z
2006-12-04T08:41:24.000003-05:00
<p align="center"><font color="#0080c0" size="2"><big><strong><big>SQL Injection FAQ </big></strong></big></font></p> <p align="center"> </p><p align="center"><strong><font color="red"></font></strong></p><strong><font color="red"> </font></strong><a href="http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&tabid=3"><strong><font color="red"><a href="http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&;tabid=3">http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&;tabid=3</a><br /></font></strong></a><strong><font color="red"> </font></strong> <br /> <div align="center"> <center> <table width="80%" border="0"> <tbody> <tr> <td width="100%"> <p><big><strong><font size="2">Are other SQL Servers (Sybase, Oracle, DB2) subject to SQL injection?</font></strong></big></p> <p><font size="2">Yes, to varying degrees. Here is a site that can get you more details on some of the issues with other SQL Servers. </font><a href="http://www.owasp.org/" target="_blank"><a href="http://www.owasp.org/"><font size="2">http://www.owasp.org</font></a></a></p><font size="2"><b>What is SQL Injection and why is all this information not included in the regular FAQ?</b> </font> <p><font size="2">SQL Injection is simply a term describing the act of passing SQL code into an application that was not intended by the developer.  Since this topic is not specifically restricted to SQL Server it is not included in the normal FAQ. In fact, much of the problems that allow SQL injection are not the fault of the database server per-se but rather are due to poor input validation and coding at other code layers. However, due to the serious nature and prevalence of this problem I feel its inclusion in a thorough discussion of SQL Server security is warranted.</font></p> <p><big><strong><font size="2">What causes SQL Injection?</font></strong></big></p> <p><font size="2">SQL injection is usually caused by developers who use "string-building" techniques in order to execute SQL code. For example, in a search page, the developer may use the following code to execute a query (VBScript/ASP sample shown):</font></p> <p><font face="Courier New" color="#ff0000" size="2">Set myRecordset = myConnection.execute("SELECT * FROM myTable WHERE someText ='" & request.form("inputdata") & "'")</font></p> <p><font size="2">The reason this statement is likely to introduce an SQL injection problem is that the developer has made a classic mistake - poor input validation. We are trusting that user has not entered something malicious - something like the innocent looking single quote ('). Let's consider what would happen if a user entered the following text into the search form:</font></p> <p><font size="2">' exec master..xp_cmdshell 'net user test testpass /ADD' --</font></p> <p><font size="2">Then, when the query string is assembled and sent to SQL Server, the server will process the following code:</font></p> <p><font face="Courier New" color="#ff0000" size="2">SELECT * FROM myTable WHERE someText ='' exec master..xp_cmdshell 'net user test testpass /ADD'--'</font></p> <p><font size="2">Notice, the first single quote entered by the user closed the string and SQL Server eagerly executes the next SQL statements in the batch including a command to add a new user to the local accounts database. If this application were running as 'sa' and the MSSQLSERVER service is running with sufficient privileges we would now have an account with which to access this machine. Also note the use of the comment operator (--) to force the SQL Server to ignore the trailing quote placed by the developer's code.</font></p> <p><a href="http://www.sqlsecurity.com/faq-inj.asp"><font size="2">More</font></a></p> <p><em><font color="#000000" size="2">Very intresting that these are all Native Interface based exploits. So the security issue isn't ODBC, JDBC, ADO.NET, or OLE DB specific (although they certainly increase the potential damage that can be unleashed via metadata analysis en route to that huge Cartesian Product ; the mother of all Exploits!). Our Session Rules Book was devised in 1993 with many of these issues in mind, and to this date there are no other ODBC/JDBC/OLE DB products out there that even come close to acknowledging this reality.</font></em></p></td></tr></tbody></table></center></div>
<big>SQL Injection FAQ </big>
http://www.openlinksw.com:443/blog/kidehen@openlinksw.com/blog/?date=2003-05-21#48
2003-05-21T22:27:45Z
2006-06-22T08:56:58-04:00
<P align=center><FONT color=#0080c0 size=2><BIG><STRONG><BIG>SQL Injection FAQ </BIG></STRONG></BIG></FONT></P> <P align=center> <P align=center><STRONG><FONT color=red></FONT></STRONG></P><STRONG><FONT color=red> </FONT></STRONG><A href="http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&tabid=3"><STRONG><FONT color=red><A href="http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&;tabid=3">http://www.sqlsecurity.com/DesktopDefault.aspx?tabindex=2&;tabid=3</A><BR></FONT></STRONG></A><STRONG><FONT color=red> </FONT></STRONG> <BR> <DIV align=center> <CENTER> <TABLE width="80%" border=0> <TBODY> <TR> <TD width="100%"> <P><BIG><STRONG><FONT size=2>Are other SQL Servers (Sybase, Oracle, DB2) subject to SQL injection?</FONT></STRONG></BIG></P> <P><FONT size=2>Yes, to varying degrees. Here is a site that can get you more details on some of the issues with other SQL Servers. </FONT><A href="http://www.owasp.org/" target=_blank><A href="http://www.owasp.org/"><FONT size=2>http://www.owasp.org</FONT></A></A></P><FONT size=2><B>What is SQL Injection and why is all this information not included in the regular FAQ?</B> </FONT> <P><FONT size=2>SQL Injection is simply a term describing the act of passing SQL code into an application that was not intended by the developer. Since this topic is not specifically restricted to SQL Server it is not included in the normal FAQ. In fact, much of the problems that allow SQL injection are not the fault of the database server per-se but rather are due to poor input validation and coding at other code layers. However, due to the serious nature and prevalence of this problem I feel its inclusion in a thorough discussion of SQL Server security is warranted.</FONT></P> <P><BIG><STRONG><FONT size=2>What causes SQL Injection?</FONT></STRONG></BIG></P> <P><FONT size=2>SQL injection is usually caused by developers who use "string-building" techniques in order to execute SQL code. For example, in a search page, the developer may use the following code to execute a query (VBScript/ASP sample shown):</FONT></P> <P><FONT face="Courier New" color=#ff0000 size=2>Set myRecordset = myConnection.execute("SELECT * FROM myTable WHERE someText ='" & request.form("inputdata") & "'")</FONT></P> <P><FONT size=2>The reason this statement is likely to introduce an SQL injection problem is that the developer has made a classic mistake - poor input validation. We are trusting that user has not entered something malicious - something like the innocent looking single quote ('). Let's consider what would happen if a user entered the following text into the search form:</FONT></P> <P><FONT size=2>' exec master..xp_cmdshell 'net user test testpass /ADD' --</FONT></P> <P><FONT size=2>Then, when the query string is assembled and sent to SQL Server, the server will process the following code:</FONT></P> <P><FONT face="Courier New" color=#ff0000 size=2>SELECT * FROM myTable WHERE someText ='' exec master..xp_cmdshell 'net user test testpass /ADD'--'</FONT></P> <P><FONT size=2>Notice, the first single quote entered by the user closed the string and SQL Server eagerly executes the next SQL statements in the batch including a command to add a new user to the local accounts database. If this application were running as 'sa' and the MSSQLSERVER service is running with sufficient privileges we would now have an account with which to access this machine. Also note the use of the comment operator (--) to force the SQL Server to ignore the trailing quote placed by the developer's code.</FONT></P> <P><A href="http://www.sqlsecurity.com/faq-inj.asp"><FONT size=2>More</FONT></A></P> <P><EM><FONT color=#000000 size=2>Very intresting that these are all Native Interface based exploits. So the security issue isn't ODBC, JDBC, ADO.NET, or OLE DB specific (although they certainly increase the potential damage that can be unleashed via metadata analysis en route to that huge Cartesian Product ; the mother of all Exploits!). Our Session Rules Book was devised in 1993 with many of these issues in mind, and to this date there are no other ODBC/JDBC/OLE DB products out there that even come close to acknowledging this reality.</FONT></EM></P></TD></TR></TBODY></TABLE></CENTER></DIV>