现有编码的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讨论组的成员,所以我先问这里。
答案 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客户端完成了这项工作,但不记得这些细节。