2011-11-18 106 views
2

有一個現有的C#.NET代碼庫,它目前編碼爲直接訪問Oracle的ODP.NET API以訪問數據庫。我們有興趣在應用程序的這個領域做一些重構。mybatis .NET可以直接與Oracle ODP.NET客戶端一起使用嗎?

我們公司有另一個基於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

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

是的,這是可能的。我之前針對ODP.NET和Microsoft Oracle客戶端做過,但不記得細節。

相關問題