【问题标题】:Could not find file 'C:\SomePath\Oracle.DataAccess.Common.Configuration.Section.xsd' when connecting to Oracle server连接到 Oracle 服务器时找不到文件“C:\SomePath\Oracle.DataAccess.Common.Configuration.Section.xsd”
【发布时间】:2015-01-15 12:57:38
【问题描述】:

在我当前的项目中,我在将 Entity Framework 6 连接到我们的生产 Oracle 数据库时遇到了一些问题。

采取的步骤到我现在的位置:

  1. 安装了支持 Entity Framework 6 的最新 (ODAC121010Beta2_64bit) o​​racle 客户端
  2. 添加对 C:\app\client\\product\12.1.0\client_1\odp.net\managed\common\Oracle.ManagedDataAccess.dll 的引用(复制本地 = false)
  3. 添加对 C:\app\client\\product\12.1.0\client_1\odp.net\managed\common\EF6\Oracle.ManagedDataAccess.EntityFramework.dll 的引用(复制本地 = true)编辑:奇怪的是,这被设置为“真”,而不是预期的假。
  4. 手动添加我的提供者

    <providers>
      <provider invariantName="Oracle.ManagedDataAccess.Client"
        type="Oracle.ManagedDataAccess.EntityFramework.EFOracleProviderServices, Oracle.ManagedDataAccess.EntityFramework" />
    </providers>
    

使用此设置,Visual Studio 可以连接到我们的 Oracle 数据库并构建我的模型。太好了!

但是当我运行我的应用程序时,它在我第一次获取数据时失败了:

    Exception:Caught: "Could not find file 'C:\PATH_TO_MY_PROJECT\bin\Debug\Oracle.DataAccess.Common.Configuration.Section.xsd'." (System.IO.FileNotFoundException)

文件 Oracle.DataAccess.Common.Configuration.Section.xsd 与我在其他文件中引用的 Oracle.ManagedDataAccess.dll 位于同一路径中。

我的 PATH 环境成立

    C:\app\client\<USER>\product\12.1.0\client_1
    C:\app\client\<USER>\product\12.1.0\client_1\bin

Google 在 Oracle.DataAccess.Common.Configuration.Section.xsd 上搜索时给出 0 个结果,这可能是在这里发布它的主要原因。

这里建议的解决方案是什么?为什么它在我的 DEBUG 文件夹中而不是在 oracle 驱动程序文件夹中搜索这些文件?

编辑 请求的环境变量:

ADT_HOME=C:\Users\TDC\AppData\Local\Android\android-sdk
ALLUSERSPROFILE=C:\ProgramData
ANT_HOME=C:\apache-ant-1.9.3
APPDATA=C:\Users\TDC\AppData\Roaming
asl.log=Destination=file
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=WG-LT-TIELE
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
GIT_HOME=C:\Program Files (x86)\Git
HOMEDRIVE=U:
HOMEPATH=\
HOMESHARE=\\ASW-FILE\User Shared Folders$\TDC
JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_55
LOCALAPPDATA=C:\Users\TDC\AppData\Local
LOGONSERVER=\\COS-DC-01
NUMBER_OF_PROCESSORS=4
OS=Windows_NT
Path=C:\app\client\TDC\product\12.1.0\client_1;C:\app\client\TDC\product\12.1.0\client_1\bin;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\ProgramFiles (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Java\jdk1.7.0_55\bin;C:\Users\TDC\AppData\Local\Android\android-sdk\tools;C:\Users\TDC\AppData\Local\Android\android-sdk\platform-tools;C:\apache-ant-1.9.3\bin;C:\Program Files (x86)\nodejs\;C:\Program Files (x86)\Git\cmd;C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\;C:\Program Files\Microsoft SQL Server\120\Tools\Binn\;C:\Program Files (x86)\Java\jdk1.7.0_55\bin;C:\Users\TDC\AppData\Local\Android\android-sdk\tools;C:\Users\TDC\AppData\Local\Android\android-sdk\platform-tools;C:\Program Files (x86)\Git\cmd\cmd;C:\Users\TDC\AppData\Roaming\npm;C:\Program Files (x86)\IDM Computer Solutions\UltraEdit\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 42 Stepping 7, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2a07
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\TDC\AppData\Local\Temp
TMP=C:\Users\TDC\AppData\Local\Temp
USERDNSDOMAIN=WGIT.LOCAL
USERDOMAIN=WGIT
USERDOMAIN_ROAMINGPROFILE=WGIT
USERNAME=TDC
USERPROFILE=C:\Users\TDC
VS110COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\Tools\
VS120COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\
windir=C:\Windows

【问题讨论】:

标签: c# oracle entity-framework visual-studio


【解决方案1】:

在尝试使用与 Oracle 的 Entity Framework 连接运行代码时出现上述问题。此上下文/模型是使用与我运行代码相同的设备创建的。

但是.. 在尝试重新创建此上下文时,Visual Studio 说我的提供程序不兼容。第53次重装oracle驱动时,上述问题已解决。

所以我的问题已经解决了,但我仍然不知道 oracle 安装程序做了什么来解决它。

【讨论】:

    【解决方案2】:

    我通过简单地在调试期间取消选择异常设置上的“Commom Language Runtime Exceptions”选项解决了这个问题,例如here

    【讨论】:

    • 这只会隐藏问题
    【解决方案3】:

    检查您的 x64 主路径变量。
    Source

    【讨论】:

    • 感谢您的回复,但如上所述,我的 PATH 变量存在并且它指向正确的位置(刚刚验证)。
    • 你能从命令行执行set 并更新你的帖子以显示结果吗?您可以省略任何不相关的内容。
    • 添加了我所有的环境变量,我希望没有真正的秘密:-)
    • 我确定这是一个变量问题,但我无法在我看到的信息中识别它。需要支持吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-18
    • 2020-10-14
    相关资源
    最近更新 更多