由于应用程序类型,无法访问oci.dll

时间:2009-10-05 21:54:24

标签: vb.net visual-studio oracle entity-framework vista64

我正在尝试通过Visual Studio 2008中的实体框架创建与Oracle数据库的连接。我正在运行64位Vista Ultimate。

起初,我甚至难以通过Visual Studio连接到数据库,但最终通过安装10204_vista_w2k8_x64_production_db和ODTwithODAC1110720来完成工作,但只有通过Visual Studio进行连接所需的最少部分。

我对这个设置完全不熟悉,所以我可能已经犯了一个错误,但安装这两个软件包是我通过Visual Studio创建连接的唯一方法。

我建立了连接,并使用向导创建了一个。 edmx文件。模型和关联是完美创建的,我认为事情会很好。我使用默认名称“实体”作为参考名称。

当我尝试执行以下操作时

filingsContext = New Entities()
filingsContext.TABLE_NAME_HERE.First()

我收到以下错误..

InnerException = {“无法加载C:\ app \ adexter \ OraHome_1 \ oci.dll。请检查您是否使用64x版本的Oracle客户端和64x应用程序。”}

除了运行应用程序之外,我怎样才能在每个点连接到oracle db?

2 个答案:

答案 0 :(得分:1)

您遇到的问题是您尝试在64位应用程序中加载32位版本的DLL。尝试将Visual Basic应用程序切换到目标32位/ x86,这应解决问题

  1. 右键单击解决方案资源管理器中的项目
  2. 选择属性
  3. 转到“编译选项卡”
  4. 点击高级编译选项
  5. 将目标CPU组合更改为x86
  6. 点击确定

答案 1 :(得分:1)

确保已使用ODAC安装了64位版本的ODT。

请看this answer如何确定应用程序将使用哪个客户端版本(最终目标的一些链接更具体地说是C#语言,但它们可以适应VB .NEt)。