使用c ++进行Oracle DB Server连接

时间:2013-02-20 11:05:23

标签: oracle visual-c++ visual-studio-2005 oledb

我在Linux环境下编写过C ++程序。 目前我需要处理Visual Studio 2005版本。

我有一项任务,我需要从Oracle数据库中获取一些数据。 我以前从未做过这种任务。

我只是用Google搜索,发现它可以通过C ++和C#实现。 因为我必须只使用Visual Studio 2005,哪种方法应该更好 - C ++或C#?

我从谷歌发现我可以使用OLE DB或OCCI使用C ++。 如果是C#,我应该使用OLE DB。

请您建议我应该使用哪种语言和方法来完成这项任务?

1 个答案:

答案 0 :(得分:1)

<强>注意

我非常警告你不要使用Visual Studio 2005,不是因为它不是一个很棒的工具,而是因为它已经过时了,Visual Studio 2008,2010和现在2012都带来了很大的改进。自2005年以来,托管C ++已经有了很大的改进。新的扩展和附加组件不再在2005年的支持下发布,并且对许多技术(例如Team Foundation Server,WCF,Windows Presentation Foundation等)的支持得不到很好的支持或在此版本上受到支持。根据您正在尝试做的事情以及您正在计划的事情的高级程度,您应该研究免费的Visual Studio Express版本并支持商业项目。

C#vs C ++

我不讨论C#或C ++是否更好,如果你精通C ++,那么你可能更容易继续使用C ++。我个人认为C#更容易编程,因为.NET框架抽象了构建复杂应用程序的许多困难部分。这将是您完全做出的决定。

数据库技术

要在Windows平台上连接到Oracle数据库,您有许多选择:

  • ODBC,OleDB的前身。它有很好的文档,你可能会找到大量关于如何从C ++使用它的例子,也不会抽象数据库,可能需要更多的本地设置。自OleDB和ADO.NET发布以来,对ODBC的支持正在下降。
  • Ole DB,改进版本,对数据库提供程序进行抽象,以便您(理论上)应该能够切换数据库平台。对Native C ++,Managed C ++和C#的良好支持。
  • ADO.NET,结合Oracle Data Provider for .NET,为C#和托管C ++提供了非常好的支持。可以通过抽象在不同的​​数据库上轻松重用。设计器支持和代码生成(Entity Framework)。
  • Oracle Native API(Oracle客户端),深度本机集成,在执行方面可能是最快的,oracle数据库平台的专用代码,无法重用。我怀疑你不会在Visual Studio中找到任何类型的设计器支持,因为现在所有人都专注于ADO.NET。