拥有一个现有的 C# .NET 代码库,该代码库当前编码为直接访问 Oracle 的 ODP.NET API 以进行数据库访问。我们有兴趣在应用程序的这个区域进行一些重构。
我们公司有另一个基于Java的代码库,其中myBATIS用于访问Oracle db。我们真的很喜欢那里的 myBATIS - 所以正在考虑将 myBATIS 用于 C# .NET 应用程序。
然而这里是“但是”:但是在查看 myBATIS for .NET 上的信息时,它似乎分层到 ADO.NET 上。
在处理 Oracle 数据库时,真的很想让 myBATIS 直接转到 ODP.NET。 (而且我们希望有使用非常特定版本的 ODP.NET 的自由度。)
这是否已经可行,或者我们是否需要卷起袖子编写我们自己的 myBATIS 分支,直接在 ODP.NET(而不是 ADO.NET)上分层?
我(还)不是 myBATIS 讨论组的成员,所以我先在这里提问。
最佳答案
providers
section of your sqlMapConfig
应该指向 providers.config
使用类似于以下内容的提供商提交文件:
<provider
name="oracle10.1"
description="Oracle, oracle provider V10.1.0.301"
enabled="true"
assemblyName="Oracle.DataAccess, Version=10.1.0.301, Culture=neutral, PublicKeyToken=89b483f429c47342" connectionClass="Oracle.DataAccess.Client.OracleConnection"
commandClass="Oracle.DataAccess.Client.OracleCommand"
parameterClass="Oracle.DataAccess.Client.OracleParameter"
parameterDbTypeClass="Oracle.DataAccess.Client.OracleDbType"
parameterDbTypeProperty="OracleDbType"
dataAdapterClass="Oracle.DataAccess.Client.OracleDataAdapter"
commandBuilderClass="Oracle.DataAccess.Client.OracleCommandBuilder"
usePositionalParameters="true"
useParameterPrefixInSql="true"
useParameterPrefixInParameter="true"
parameterPrefix=":"
useDeriveParameters="false"
allowMARS="false"
/>
关于c# - mybatis .NET 可以直接和Oracle ODP.NET 客户端一起使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8188108/