连接到 Oracle 服务器时找不到文件“C:SomePathOracle.DataAccess.Common.

本文关键字:SomePathOracle DataAccess Common 文件 Oracle 服务器 找不到 连接 | 更新日期: 2023-09-27 18:30:52

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

采取的步骤到我现在所处的地步:

  1. 已安装支持实体框架 6 的最新 (ODAC121010Beta2_64bit) Oracle 客户端
  2. 添加对 C:''app''client''''product''12.1.0''client_1''odp.net''managed''common''Oracle.ManagedDataAccess.dll (copy local = false) 的引用
  3. 添加对 C:''app''client''''product''12.1.0''client_1''odp.net''managed''common''EF6''Oracle.ManagedDataAccess.EntityFramework.dll (copy local = true) 编辑:非常清楚,这是设置为"true",而不是预期的 false。
  4. 手动添加我的提供程序

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

使用此设置,Visual Studio可以连接到我们的Oracle db并构建我的模型。伟大!

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

    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

连接到 Oracle 服务器时找不到文件“C:SomePathOracle.DataAccess.Common.

尝试使用实体框架连接到 Oracle 运行代码时,会出现上述问题。此上下文/模型是使用与我运行代码相同的设备创建的。

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

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

我通过在调试期间简单地取消选择异常设置上的"Commom 语言运行时异常"选项来解决这个问题,如下所示

检查 x64 主路径变量。