{"id":151,"date":"2007-03-01T15:52:45","date_gmt":"2007-03-01T20:52:45","guid":{"rendered":"http:\/\/bitpost.com\/news\/2007\/03\/01\/whats-best-adonet-vs-ado-vs-access-vs-mysql-vs-oracle-vs-sql-server-vs\/"},"modified":"2007-03-19T09:06:11","modified_gmt":"2007-03-19T14:06:11","slug":"whats-best-adonet-vs-ado-vs-access-vs-mysql-vs-oracle-vs-sql-server-vs","status":"publish","type":"post","link":"https:\/\/bitpost.com\/news\/2007\/whats-best-adonet-vs-ado-vs-access-vs-mysql-vs-oracle-vs-sql-server-vs\/","title":{"rendered":"What&#8217;s best?  ADO.net vs. ADO vs. Access vs. MySQL vs. Oracle vs. SQL Server vs&#8230;"},"content":{"rendered":"<p>I&#8217;m reviewing database storage in my little app after several years of dealing with M$&#8217;s calculated disregard for older technology (DAO in this case).<!--more--><\/p>\n<p>DAO used to be a fully-respected local database storage API for any ODBC or Jet data source, complete with wizard support for easy updating of code as the database schema changed.  I&#8217;ve been hand-coding updates for years now that the wizards have been killed.  The fact that I now need to get the user to install special DAO library support when installing my app means Marketsoft wins, I officially give up on DAO.  I may be the last to do so, but there still isn&#8217;t a good reason for it, except from M$&#8217;s point of view &#8211; Marketsoft has to keep rotating its tech to keep its customers paying.  They killed DAO and are now suggesting that everyone use ADO.net instead of ADO.  Why WOULDN&#8217;T you want to make your little app dependent on the bloated .net framework that&#8217;s 100 times the size of your app?  And you don&#8217;t need an industry-standard language, use M$&#8217;s proprietary one, you&#8217;ll love it  Anyway, I&#8217;m game, I&#8217;ll keep up with the times, but Microsoft isn&#8217;t the only show in town.  So let&#8217;s review our options.<\/p>\n<p>I&#8217;m just a little guy with a little app, and standard local database needs.  I don&#8217;t want to have to license a mother-of-all-mother of database-servers.  I want small and local.  So Oracle and SQL Server are out.  I thought for sure that MySQL would offer a nice solution, but if your app isn&#8217;t GPL, you&#8217;ll have to pay to bundle MySQL with your app.  Maybe I should GPL my little baby, no one would care.  Anyway, before I go that route, I have the following options for sane local managable database access&#8230;<\/p>\n<ul>\n<li>Stick with DAO, handcode updates, install DAO on app install<\/li>\n<li>Migrate DAO stuff to ADO<\/li>\n<li>Convert to a managed app and use ADO.net<\/li>\n<li>Make the app a native\/managed hybrid and use ADO.net<\/li>\n<li>Write my own persistent storage with my old OOD code<\/li>\n<li>Write a persistent archive class for use with boost::serialize<\/li>\n<\/ul>\n<p>I would love to make the storage binary-compatible across Windows and linux, so it would dovetail with my &#8220;big plans&#8221; for a MythTV module (shhhh!).  So&#8230; without GPL&#8217;ing all my stuff, it looks like the last two are the most appealing&#8230; stay tuned&#8230;<\/p>\n<p>As an aside, I have used ADO.net to connect to Oracle sources, and it looks like you can connect to MySQL sources too.  You have to install third-party addons from <a href=\"http:\/\/www.oracle.com\/technology\/tech\/windows\/odpnet\/\">Oracle<\/a> and <a href=\"http:\/\/dev.mysql.com\/doc\/refman\/5.0\/en\/connector-vstudio.html\">MySQL<\/a> to get it to work.  Originally .net included Oracle access tools but they have apparently been removed or reduced in scope &#8211; the docs suck.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;m reviewing database storage in my little app after several years of dealing with M$&#8217;s calculated disregard for older technology (DAO in this case).<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"enabled":false},"version":2}},"categories":[7,5,12,4,8,10,6,2],"tags":[],"class_list":["post-151","post","type-post","status-publish","format-standard","hentry","category-hangthedj","category-linux-projects","category-mythtv","category-projects","category-sharethedj","category-tricks-tips-tools","category-windows-projects","category-chatter"],"aioseo_notices":[],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p9M11L-2r","jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts\/151","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/comments?post=151"}],"version-history":[{"count":0,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/posts\/151\/revisions"}],"wp:attachment":[{"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/media?parent=151"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/categories?post=151"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/bitpost.com\/news\/wp-json\/wp\/v2\/tags?post=151"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}