entity framework 連接 oracle 發布后出現的問題(Unable to find the requested .Net Framework Data Provider)


用entity framework 搭建的一個windows 程序,在vs中用oracle 的ODT 工具連接oracle數據庫,昨天發布后出現下面一個錯誤,

System.ArgumentException: The specified store provider cannot be found in the configuration, or is not valid. ---> System.ArgumentException: Unable to find the requested .Net Framework Data Provider.  It may not be installed.
   at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
   --- End of inner exception stack trace ---
   at System.Data.EntityClient.EntityConnection.GetFactory(String providerString)
   at System.Data.EntityClient.EntityConnection.ChangeConnectionString(String newConnectionString)
   at System.Data.Objects.ObjectContext..ctor(String connectionString, String defaultContainerName)
   ......

 

ODT也裝了,為什么老是提示找不到數據提供程序呢,把oracle client安裝了試試也不行,ODT重新安裝還是不行,網上大多是web程序的問題,讓我頭大了,今天搞了一上午還是不行,下午我無意中看了一下編譯時的輸出,

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(1578,5): warning MSB3270: 所生成項目的處理器架構“MSIL”與引用“Oracle.DataAccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86”的處理器架構“x86”不匹配。這種不匹配可能會導致運行時失敗。請考慮通過配置管理器更改您的項目的目標處理器架構,以使您的項目與引用間的處理器架構保持一致,或者為引用關聯一個與您的項目的目標處理器架構相符的處理器架構。
C:\Windows\Microsoft.NET\Framework\v4.0.30319\Microsoft.Common.targets(3075,5): warning MSB3187: 引用程序集“D:\app\DH\product\11.2.0\client_2\ODP.NET\bin\2.x\Oracle.DataAccess.dll”面向的是另一個處理器,而不是此應用程序。

 這才明白過來,馬上更改項目生成中的目標平台由 Any CPU 到x86,重新發布后ok了,一切歸於平靜了。

總結,vs給我們提供了強大的提示功能,遇到問題,應首先查看vs給我們的提示,不要盲目的就去上網查找答案,網上未必有你想要的答案,自己找出來問題比別人幫你找出問題更有趣


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM