Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#/Oracle:连接_C#_Oracle_Oracle10g_Database Connection - Fatal编程技术网

C#/Oracle:连接

C#/Oracle:连接,c#,oracle,oracle10g,database-connection,C#,Oracle,Oracle10g,Database Connection,我一直在试图找出如何将c#程序与oracle 10g db连接起来。我发现的所有代码示例总是使用.net framework的ado.net oracleclient(已弃用->不好),或system.data.ado(显然使用了不允许使用的数据源(odbc)->或oracle开发工具odt(如odbc?),后者支持olny visual studio 2005 for 10g,而vs 2010仅支持11g。。。有没有什么方法可以连接,就像delphi(devart,odac)可以连接一样,在我

我一直在试图找出如何将c#程序与oracle 10g db连接起来。我发现的所有代码示例总是使用.net framework的ado.net oracleclient(已弃用->不好),或system.data.ado(显然使用了不允许使用的数据源(odbc)->或oracle开发工具odt(如odbc?),后者支持olny visual studio 2005 for 10g,而vs 2010仅支持11g。。。有没有什么方法可以连接,就像delphi(devart,odac)可以连接一样,在我被告知研究连接c#和oracle的可能性之前,我使用过delphi?

我认为最好的方法是在oracle数据库上执行操作


这对您来说也是一个有趣的问题

我认为最好的方法是在oracle数据库上执行操作


这对您来说可能也是一个有趣的问题

最简单的方法是使用
System.Data.OleDb
,这对于任何版本的Visual Studio和.Net Framework都应该可以正常工作,除非您需要执行OleDb上不支持的任何Oracle特定查询


imho的一大好处是,您不必部署任何特殊的第三方数据库驱动程序。

最简单的方法是使用
System.Data.OleDb
,它应该适用于任何版本的Visual Studio和.Net Framework,除非您需要执行OleDb不支持的任何Oracle特定查询

imho的一大好处是,您不必部署任何特殊的第三方数据库驱动程序。

在上,您可以找到多个提供商的连接字符串示例

我建议使用ODP.NET或OracleClient之类的东西,它使用数据库的本机接口

不同数据库之间的数据类非常相似,因此您可以举一个例子,使用
SqlClient
classes()替换
OracleClient
类,并更改连接字符串。

在上,您可以找到多个提供者的连接字符串示例

我建议使用ODP.NET或OracleClient之类的东西,它使用数据库的本机接口

不同数据库之间的数据类非常相似,因此您可以举一个例子,使用
SqlClient
classes()替换
OracleClient
classes,并更改连接字符串。

请参阅以下代码;)

请参阅以下代码;)


我花了很长时间才意识到我的错误,当时我正试图使用oracle数据访问依赖项将dotnet应用程序从X86迁移到X64


oracle连接问题刚刚从OracleConnection转移到OleDbConnection解决了。谢谢

我花了很长时间才意识到我的错误,当时我正试图使用oracle数据访问依赖项将dotnet应用程序从X86迁移到X64



oracle连接问题刚刚从OracleConnection转移到OleDbConnection解决了。谢谢

我想ODP11是为Oracle11g设计的吧?我有一个10g数据库,但vs 2010也有一个10g数据库,link供您参考您的意思是说它不适用于Framework 4.0,在任何情况下,它们都是为向后兼容而构建的,所以不应该是issue@EikeCochu ODP它可用于4.0框架(32位和64位)。所有ODP都适用于Oracle 9i及以上版本。如果它在没有11g客户端的情况下工作(即使安装程序右上角有一个大的11g,并且安装程序需要我的11g客户端安装路径),那么我很乐意安装它,谢谢!我想ODP11是为Oracle11g设计的吧?我有一个10g数据库,但vs 2010也有一个10g数据库,link供您参考您的意思是说它不适用于Framework 4.0,在任何情况下,它们都是为向后兼容而构建的,所以不应该是issue@EikeCochu ODP它可用于4.0框架(32位和64位)。所有ODP都适用于Oracle 9i及以上版本。如果它在没有11g客户端的情况下工作(即使安装程序右上角有一个大的11g,并且安装程序需要我的11g客户端安装路径),那么我很乐意安装它,谢谢!OracleClient已被弃用,似乎10g的odp/odt/odac(都一样?)仅适用于vs2005@Eike好的,看来微软正在放弃他们的实现。您可以将ODP.NET 11与10g服务器一起使用:OracleClient已被弃用,似乎10g的ODP/odt/odac(都一样?)仅适用于vs2005@Eike好的,看来微软正在放弃他们的实现。您可以将ODP.NET 11与10g服务器一起使用:是的,thx是这样工作的,但是这个示例需要一个数据源,它必须在系统首选项中设置,我无法为每个用户设置和维护这些数据源。如果没有这个“数据源”,我永远无法成功连接,我认为您无法获得“oracle数据源”在所有用户中…@Eike此OleDb连接不需要任何系统数据源配置。是否需要?数据源是ORCL,必须事先设置,否则该程序如何知道如何连接到dbyeah thx,以这种方式工作,但本例需要一个必须在系统首选项中设置的数据源,而且我无法为每个用户设置和维护这些数据源如果没有这个“数据源”,我永远无法成功连接,我不认为您可以获得每个用户的“oracle数据源”…@Eike这个OleDb连接不需要任何系统数据源配置。是吗?数据源是ORCL,必须事先设置,否则该程序如何知道如何连接到dbsee我的评论到下面的V4Vendetta,它应该可以工作。请用VS2010发布您的问题,但它确实支持它。您有哪些问题使您相信最新版本的ODP不能与vs2010和10g配合使用?您需要使用11g客户端软件,但这将连接到10g(和9i)()请参阅我的评论
using System;
using System.Data;
using System.Data.OleDb;

class OleDbConnectionOracle
{
  public static void Main()
  {
    string connectionString = "provider=MSDAORA;data source=ORCL;user id=SCOTT;password=TIGER";
    OleDbConnection myOleDbConnection = new OleDbConnection(connectionString);

    OleDbCommand myOleDbCommand = myOleDbConnection.CreateCommand();

    myOleDbCommand.CommandText = "SELECT empno, ename, sal FROM emp WHERE empno = 7369";

    myOleDbConnection.Open();

    OleDbDataReader myOleDbDataReader = myOleDbCommand.ExecuteReader();

    myOleDbDataReader.Read();

    myOleDbDataReader.Close();
    myOleDbConnection.Close();
  }
}