Oracle.ManagedDataAccess + EF的使用

來源:互聯網
上載者:User

1.http://www.oracle.com/technetwork/database/windows/downloads/odpmbeta-1696432.html 下載ORACLE的驅動,這個是託管版本的.

2.安裝完成後,在VS2012中可看到ORACLE相關工具,這個比PLSQL要好用的多.

3.和使用SQL一樣建立 資料實體模型.具體過程不說了,只說一下ORQCEL串連一塊。

建議使用EZ CONNECT模式,直接輸入相應的使用者名稱,密碼,IP,SID等即可。

 

4.代碼用法和以前一樣.直接使用了.

  private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            try
            {
                Entities en = new Entities();
                var db = en.Y_XMK.ToList();
                this.DataContext = db;
            }
            catch(Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

5. 運行:出錯了.

指定的儲存區提供者在配置中找不到,或者無效。

 

6.解決方式

根據網上的說明,試著改了下CONFIG檔案

參照:http://blog.csdn.net/liufan76/article/details/3173282

<system.data>
    <DbProviderFactories>
      <remove invariant="Oracle.ManagedDataAccess.Client"/>
      <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.112.3.60, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </DbProviderFactories>
  </system.data>

加上去後,運行良好。

 

7.分析問題

開啟C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 發現

<system.data>
    <DbProviderFactories>
      <remove invariant="Oracle.ManagedDataAccess.Client"/>
      <add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.112.3.60, Culture=neutral, PublicKeyToken=89b483f429c47342" />
    </DbProviderFactories>
  </system.data> 此段內容已有.

再次開啟C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config           沒有見到上述內容。

 

將VS2012的產生目標平台改為:X86,一切正常.改回X64則出錯. 結合參照的問題,因此此問題還是程式版本引起的,導致運行時改不到相應的驅動.

 

 

 

相關關鍵詞:
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.