1

我正在尝试通过 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?

4

2 回答 2

1

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

  1. 右键单击解决方案资源管理器中的项目
  2. 选择属性
  3. 转到编译选项卡
  4. 点击高级编译选项
  5. 将目标 CPU 组合更改为 x86
  6. 点击确定
于 2009-10-05T22:02:34.833 回答
1

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

查看这个关于如何确保您的应用程序将使用哪个客户端版本的答案(最终的一些链接更具体地针对 C# 语言,但它们可以适应 VB .NEt)。

于 2009-10-06T08:55:28.100 回答