mybatis .NET可以直接与Oracle ODP.NET客户端一起使用吗?

时间:2011-11-18 19:36:17

标签: c# .net ibatis odp.net mybatis

现有编码的C#.NET代码库可直接访问Oracle的ODP.NET API以进行数据库访问。我们有兴趣在应用程序的这个领域进行一些重构。

我们公司有另一个基于Java的代码库,其中myBATIS用于访问Oracle数据库。我们真的很喜欢myBATIS - 所以考虑使用myBATIS进行C#.NET应用程序。

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

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

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

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

2 个答案:

答案 0 :(得分:2)

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"    
/>

答案 1 :(得分:0)

是的,这是可能的。我之前已经针对ODP.NET和Microsoft Oracle客户端完成了这项工作,但不记得这些细节。