我想用 oracle 数据库作为我的后端和 Dapper 作为 ORM 编写一个 web-api。
我已经从 nuget 包管理器安装了 odac.client.x86 和 Oracle.ManagedDataAccess 和 dapper 库。我可以从服务器资源管理器连接我的数据库,如下图所示。
接下来我在我的项目中添加了一个 Web Api2 空控制器。这是我的连接字符串Source=Oracle_test;Persist Security Info=True;User ID=tams;Password=***********;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 Release 11.2.0.1.0 - 64bit Production
删除Unicode = True
连接字符串中的部分。
根据 MSDN文档:
如果在不使用 Oracle 9i 客户端软件与 Oracle 9i 服务器通信时将 Unicode 设置为 true,则可能会出现不可预测的结果。
虽然这是用旧版本的 Oracle 编写的,但我已经用新版本复制了它。我有一个项目使用 Oracle Managed Data Access 驱动程序和 Dapper 连接到 Oracle 11。如果我添加Unicode = True
到我的连接字符串,它会停止工作,同时在创建新的 Oracle 连接时给我一个异常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句