类型或命名空间名称Oracle找不到Missing Directive

时间:2018-01-26 09:32:04

标签: c# oracle visual-studio-2015

我想在C#.Net中构建简单的控制台应用程序,它将以table的名称作为参数并显示该表中的所有数据。 所以我在C#中编写以下代码

using System;
using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Types;

namespace Ass1Que1
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                // Please replace the connection string attribute settings
                string constr = "DATA SOURCE=localhost:1521/orclpdb;PERSIST SECURITY INFO=True;USER ID=HR;password=hr";

                OracleConnection con = new OracleConnection(constr);
                con.Open();
                Console.WriteLine("Connected to Oracle Database {0}", con.ServerVersion);
                // con.Dispose();
                OracleCommand cmd = con.CreateCommand();
                cmd.CommandText = "SELECT FIRST_NAME FROM EMPLOYEES";
                OracleDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    Console.WriteLine("" + reader.GetString(0));
                }
                Console.WriteLine("Press RETURN to exit.");
                Console.ReadLine();
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error : {0}", ex);
                Console.ReadKey();
            }
        }
    }
    }

但我收到错误

 type or namespace name Oracle could not found. 

我知道我必须添加一些dll参考,但我不知道该怎么做。 请建议我如何从错误中得到这个。

提前致谢!

2 个答案:

答案 0 :(得分:3)

您需要添加对包含Oracle.ManagedDataAccess命名空间的DLL的引用。它似乎是Oracle提供的“Oracle数据提供程序for .NET,托管驱动程序”的一部分(链接:https://docs.oracle.com/database/121/ODPNT/installODPmd.htm#ODPNT8149

最简单的方法(假设您使用的是Visual Studio)是在解决方案资源管理器中右键单击您的项目,然后选择“管理NuGet包”。然后浏览以找到“ODP.NET,托管驱动程序”,并将其添加到您的项目中。

或者,您可以手动将Oracle Data Provider for .NET安装到您的计算机上,然后右键单击项目下的“References”条目,并选择“Add Reference”。从这里,浏览以找到文件系统上的“Oracle.ManagedDataAccess.dll”,并添加对它的引用。它应该在“ORACLE_BASE \ ORACLE_HOME \ odp.net \ bin \ 4”中。

希望这有帮助

答案 1 :(得分:1)

您缺少添加.net框架提供的内置oracle引用dll。

  • 添加它,如果您在Visual Studio 2015中右键单击参考 - > 添加参考文献

enter image description here 现在使用使用语句

在代码文件中使用引用的dll

enter image description here

绿色波浪形是一个不使用过时方法的警告标志。

这将解决Oracle连接问题,但您还需要通过nuget下载并安装Oracle.ManagedDataAccess