关于c#:mybatis .NET可以直接与Oracle ODP.NET客户端一起使用吗?

Can mybatis .NET be used directly with Oracle ODP.NET client?

具有一个现有的C#.NET代码库,当前已对其进行编码以直接访问Oracle的ODP.NET API进行数据库访问。我们有兴趣在应用程序的这一部分进行一些重构。

我们公司还有另一个基于Java的代码库,其中myBATIS用于访问Oracle数据库。我们真的很喜欢myBATIS-因此正在考虑将C#.NET应用程序的myBATIS。

这是"但是":但是在查看myBATIS for .NET的信息时,它似乎已分层到ADO.NET上。

在处理Oracle数据库时,我真的希望myBATIS直接进入ODP.NET。 (并且我们希望可以使用ODP.NET的非常特定的版本。)

是否已经可以做,还是需要卷起袖子并编写我们自己的myBATIS分支的代码,该分支直接分层到ODP.NET(而不是ADO.NET)上?

我还不是myBATIS讨论组的成员,所以请先在这里提问。


sqlMapConfigproviders部分应指向具有类似以下提供程序的providers.config文件:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<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"    
/>

是的,有可能。之前我已经针对ODP.NET和Microsoft Oracle客户端完成了此操作,但是不记得详细信息了。