【问题标题】:Can I use an ADO.NET library in C++ to read Oracle DB?我可以在 C++ 中使用 ADO.NET 库来读取 Oracle DB 吗?
【发布时间】:2015-10-02 01:03:13
【问题描述】:

如果这个问题有点含糊,我们深表歉意;我会尽量用恰当的措辞来表达。

基本上,我有一个 C++ 应用程序,它目前在后端 MSSQL (SQL Server 2014) 数据库上运行。为了简化数据库通信和构建实体模型,我们组装了自己的一组 C++ 类,这些类封装了原生 ADO.NET 调用;我们以这样的方式创建它,开发人员只需提供连接字符串的详细信息,并将其组装为连接方法的一部分,如下所示:

string.Format(_T("DRIVER=SQL Server;SERVER=%s\\%s;UID=%s;PWD=%s;DATABASE=%s"),string,strConnInstance,strUser,strPassword,strDatabase);

我们现在需要从 oracle 数据库中读取数据,我们想知道是否可以使用相同的连接库。我假设我们需要调整连接字符串(例如,驱动程序需要读取不同的内容)。我相信我已经读过可以通过使用 ODBC 驱动程序来促进 Oracle 连接?是否只是安装相关驱动程序(如果是,是哪个?)并更改连接字符串中的“驱动程序”参数(如果是,是什么?)。

如果不是这么简单,有没有其他方法可以做到,或者我们正在考虑重新开发?

提前致谢!

【问题讨论】:

  • 不确定我是否理解,但 ADO.NET 与数据库无关。如果您有适当的驱动程序,它可以使用任何数据库。与 SQL Server 一样,存在由 Oracle 提供的 Oracle 驱动程序,称为 ODP.NET。不清楚的是您似乎在下面使用 ADO.NET 和 ODBC(“DRIVER=...”),而不是预期的 .NET SQL 类。你这样做的原因很奇怪。反正也有 Oracle ODBC 驱动,所以你可以测试一下。一点警告:如果您以前从未考虑过 Oracle,那么它可能不会像那样工作......
  • 您查看过控制面板中的 ODBC 连接吗?如果您安装了正确的驱动程序,您可以在那里设置与任何类型数据库的连接..
  • 您的应用程序是否有任何特定于数据库的嵌入式 SQL?

标签: c++ sql-server oracle visual-studio-2010 ado.net


【解决方案1】:

答案是肯定的,您可以使用 ADO.NET 连接到 Oracle。有很多人已经在做堆栈溢出了...

https://stackoverflow.com/search?q=oracle+ado.net

Oracle 有一个用于数据库提供程序的页面...

http://www.oracle.com/technetwork/topics/dotnet/index-085163.html

微软有一个页面在谈论它......

https://msdn.microsoft.com/en-us/library/77d8yct7(v=vs.110).aspx

Oracle 甚至有使用实体框架的示例...

http://www.oracle.com/webfolder/technetwork/tutorials/obe/db/dotnet/EntityFrameworkOBE/EntityFrameworkOBE.htm http://www.oracle.com/technetwork/issue-archive/2011/11-sep/o51odt-453447.html

那里有大量资源。

【讨论】:

    猜你喜欢
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-16
    • 2013-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多