【问题标题】:Can mybatis .NET be used directly with Oracle ODP.NET client?mybatis .NET 可以直接和Oracle ODP.NET 客户端一起使用吗?
【发布时间】:2012-01-01 13:15:59
【问题描述】:

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

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

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

非常希望 myBATIS 在处理 Oracle 数据库时直接转到 ODP.NET。 (而且我们希望能够使用非常具体的 ODP.NET 版本。)

这是否已经可行,或者我们是否需要卷起袖子,编写我们自己的 myBATIS 分支,直接在 ODP.NET(而不是 ADO.NET)上分层?

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      是的,这是可能的。我以前针对 ODP.NET 和 Microsoft Oracle 客户端做过,但不记得细节了。

      【讨论】:

        猜你喜欢
        • 2015-04-22
        • 1970-01-01
        • 2019-01-01
        • 2010-10-06
        • 1970-01-01
        • 1970-01-01
        • 2019-07-25
        • 2010-10-02
        • 1970-01-01
        相关资源
        最近更新 更多