title: Data access wrapper
body: <p>I am looking at the SQLHelper class: <a href="https://appsimplicity.googlecode.com/svn-history/r217/MetaDataExtractor/SchemaDiscovery/AppSimplicity.SchemaDiscovery.Providers/SQLServer/DataAccess/SQLHelper.vb" rel="nofollow noreferrer">https://appsimplicity.googlecode.com/svn-history/r217/MetaDataExtractor/SchemaDiscovery/AppSimplicity.SchemaDiscovery.Providers/SQLServer/DataAccess/SQLHelper.vb</a>.</p>
  
  <p>I want to use an SQLHelper to connect to Oracle databases and SQL Server databases (the choice is made at runtime).</p>
  
  <p>I believe I have two options:</p>
  
  <ol>
  <li>Amend the code to use interfaces rather than classes e.g. dbCommand instead of SQLCommand</li>
  <li>Overload some of the functions e.g. executeReader to accept Oracle connection objects</li>
  </ol>
  
  <p>I don't want to reinvent the wheel, so I was wandering if there are any other alternative options.  Are there any alternative options? If there are no alternative options, then which option is best?</p>
  
  <p>I read this post, which talks about other data access solutions available: <a href="https://stackoverflow.com/questions/2122448/is-sql-helper-class-in-microsoft-application-blocks-for-net-is-excellent">Is &quot; SQL Helper Class &quot; in Microsoft Application Blocks for .NET is excellent?</a></p>
  
  <p>The project I am working on uses ADO.NET and this is the API I want to use.</p>