1

我在 Linux 环境中编写了 C++ 程序。目前我需要在 Visual Studio 2005 版本上工作。

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

我刚刚搜索了一下,发现它可以通过 C++ 和 C# 实现。由于我只能使用 Visual Studio 2005,哪种方法应该更好——C++ 还是 C#?

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

您能否建议我应该为这项任务使用哪种语言和方法?

4

1 回答 1

1

警告

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

C# 与 C++

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

数据库技术

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

  • ODBC,OleDB 的前身。它有很好的文档记录,您可能会找到大量关于如何从 C++ 使用它的示例,也不会抽象数据库,并且可能需要更多的本地设置。自 OleDB 和 ADO.NET 发布以来,对 ODBC 的支持正在下降。
  • Ole DB,对数据库提供者进行了抽象的改进版本,因此您(理论上)应该能够切换数据库平台。对本机 C++、托管 C++ 和 C# 的良好支持。
  • ADO.NET 与 Oracle Data Provider for .NET 相结合,为 C# 和托管 C++ 提供了很好的支持。通过抽象可以很容易地在不同的数据库上重用。设计器支持和代码生成(实体框架)。
  • Oracle Native API (Oracle Client),深度原生集成,在执行方面可能是最快的,Oracle 数据库平台的专用代码,不能重用。我怀疑您不会在 Visual Studio 中找到任何形式的设计器支持,因为现在这一切都集中在 ADO.NET 上。
于 2013-02-20T11:39:02.277 回答