2013-02-20 49 views
1

我已經在Linux環境中編寫了C++程序。 目前我需要在Visual Studio 2005版本上工作。使用C++的Oracle數據庫服務器連接

我有一個任務,我需要從Oracle數據庫中獲取一些數據。 我從來沒有做過這種類型的任務。

我剛剛搜索了一下,發現它可以通過C++和C#來實現。 因爲我必須只使用Visual Studio 2005,哪種方法應該更好 - C++還是C#?

我發現從谷歌,我可以使用OLE DB或OCCI使用C++。 如果它的C#,我應該使用OLE DB。

您能否建議我應該使用哪種語言和方法來完成此任務?

回答

1

注意

我會認真地提醒您不要使用Visual Studio 2005,不是因爲它是不是一個很好的工具,而是因爲它是嚴重過時,視覺工作室2008年,2010年和2012現在有帶來了很大的改善自2005年以來,託管C++的性能得到了很大的提高。新的擴展和插件在2005年的支持下不再發布,並且對很多技術(如Team Foundation Server,WCF,Windows Presentation Foundation等)的支持得不到很好的支持或在此版本上支持。根據您要做的事情以及您計劃的事情的先進程度,您應該研究Visual Studio Express版本,這些版本是免費的並且受商業項目支持。

C#對C++

我不打算在討論C#或C++是更好的,如果你也與C++熟悉,那麼它可能更容易讓你使用C++保持。就我個人而言,我發現C#更容易編程,因爲.NET框架將構建複雜應用程序的許多困難部分抽象出來。這將是你完全做出的決定。

數據庫技術

要連接到Oracle數據庫在Windows平臺上,你有多種選擇:

  • ODBC,前體OLEDB。它有很好的文檔記錄,您可能會找到大量有關如何從C++使用它的示例,不會抽象數據庫,也可能需要更多本地設置。自從OleDB和ADO.NET發佈以來,對ODBC的支持正在下降。
  • Ole DB,對數據庫提供程序進行抽象的改進版本,因此您(理論上)應該能夠切換數據庫平臺。良好的Native C++,Managed C++和C#支持。
  • ADO.NET與Oracle Data Provider for .NET的結合爲C#和託管C++提供了非常好的支持。通過抽象可以輕鬆地在不同的數據庫上重用。 Designer支持和代碼生成(Entity Framework)。
  • Oracle Native API(Oracle客戶端)深度本地集成,可能是執行方面最快的一種,專用於Oracle數據庫平臺的代碼,不能重複使用。我懷疑你不會在Visual Studio中找到任何類型的設計器支持,因爲現在都集中在ADO.NET上。
+0

感謝您提供有價值的信息。我同意您關於visual studio 2005的觀點。但截至目前,我們擁有2005許可證版本,並且某些客戶端apis是在2005版本中編寫的。所以我將無法切換到更高版本:( – user2090833 2013-02-20 11:46:04

+0

但我相信,上述建議應該在2005年的版本也。請糾正我,如果我錯了。 – user2090833 2013-02-20 11:53:24

+0

應該工作,但你可能無法使用最新和最好的版本實體框架或適用於Visual Studio的Oracle工具。 – jessehouwing 2013-02-20 12:43:42

相關問題