C# 从visual studio 2015连接oracle数据库

C# 从visual studio 2015连接oracle数据库,c#,visual-studio-2015,oracle11g,connection-string,dapper,C#,Visual Studio 2015,Oracle11g,Connection String,Dapper,我想编写一个web api,以oracle数据库为后端,以简洁的ORM为基础 我已经从nuget软件包管理器安装了odac.client.x86和Oracle.ManagedDataAccess和dapper库。我可以从服务器资源管理器连接数据库,如下图所示 接下来,我在我的项目中添加了一个Web Api2空控制器。 这是我的连接字符串Source=Oracle\u test;持久安全信息=True;用户ID=tams;密码=**********;Unicode=True 我的代码是 pu

我想编写一个web api,以oracle数据库为后端,以简洁的ORM为基础

我已经从nuget软件包管理器安装了odac.client.x86和Oracle.ManagedDataAccess和dapper库。我可以从服务器资源管理器连接数据库,如下图所示

接下来,我在我的项目中添加了一个Web Api2空控制器。 这是我的连接字符串Source=Oracle\u test;持久安全信息=True;用户ID=tams;密码=**********;Unicode=True

我的代码是

   public IHttpActionResult Get()
    {
        using (OracleConnection db = new OracleConnection("Data Source = Oracle_test; Persist Security Info = True; User ID = tams; Password = tams; Unicode = True"))
        {
            db.Open();
            dynamic result = db.Query("Select NAME from APPLICANT_BATCHES").SingleOrDefault();
            return Ok(result);

        }
    }
我得到的异常为TypeInitializationException,如下图所示

我是dapper和oracle数据库的新手,请帮助我连接到我的oracle数据库,并使用c#中的dapper orm获取结果


我的数据库版本是-11.2.0.1.0 Oracle database 11g 11.2.0.1.0版-64位生产版

删除连接字符串中的
Unicode=True
部分

根据MSDN:

如果在不使用Oracle 9i客户端软件来 如果与Oracle 9i服务器通信,可能会出现不可预知的结果


虽然这是用旧版本的Oracle编写的,但我已经用新版本复制了它。我有一个项目使用Oracle托管数据访问驱动程序和Dapper连接到Oracle 11。如果我将
Unicode=True
添加到我的连接字符串中,它将停止工作,同时在创建新的Oracle连接时给我一个异常。

删除连接字符串中的
Unicode=True
部分

根据MSDN:

如果在不使用Oracle 9i客户端软件来 如果与Oracle 9i服务器通信,可能会出现不可预知的结果


虽然这是用旧版本的Oracle编写的,但我已经用新版本复制了它。我有一个项目使用Oracle托管数据访问驱动程序和Dapper连接到Oracle 11。如果我在连接字符串中添加
Unicode=True
,创建新Oracle连接时,它停止工作,同时给我一个异常。

内部异常说明了什么?DapperLearning.dll中发生了“System.TypeInitializationException”类型的异常,但未在用户代码中处理其他信息:“Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发了错误异常。不,这是外部异常。提供程序与oracle客户端的版本不兼容。是否安装了oracle客户端?或者只是复制了一个/多个dll?内部异常说明了什么?DapperLearning.dll中发生了“System.TypeInitializationException”类型的异常,但未在用户代码中处理其他信息:“Oracle.DataAccess.Client.OracleConnection”的类型初始值设定项引发了异常。否,这是外部异常。提供程序与oracle客户端的版本不兼容。是否安装了oracle客户端?或者只是复制了一个/几个dll?是的,谢谢你,我的连接字符串中还有一个小问题。最后我解决了它。是的,谢谢你,我的连接字符串中还有一个小问题。最后我解决了。