【问题标题】:ODT and Visual Studio -- total failODT 和 Visual Studio——完全失败
【发布时间】:2017-10-08 03:10:58
【问题描述】:

我不是 Oracle 人员,需要从 Visual Studio 中使用它。我为 Visual Studio 2015 安装了 Oracle 数据工具,但无法收到一些奇怪的错误消息。第一次启动 VS 并尝试添加新连接(任何连接)时,我收到消息:

已安装适用于 .NET 的 Oracle 数据提供程序,但未安装 机器范围的配置。但是,Oracle 数据提供程序的一个版本 已在全局程序集缓存中检测到 for .NET,这可能是 不相容。请从 .NET 中删除 Oracle 数据提供程序 全局程序集缓存并重新启动 Visual Studio。

这很奇怪,因为我只是按照消息所说的做了。下次启动VS,又弹出错误。

如果我确定该消息,我会收到另一条消息:

未能找到默认的 tnsnames.ora。无法加载类型 来自程序集的 OracleInternal.Common.ConfigBaseClass' Oracle.ManagedDataAccess,版本=4.121.2.0,文化=中性, PublicKeyToken=89b483f429c47342

我完全不确定这是什么意思。

有什么想法吗?

更新:

没有创建 tnsnames.ora(不知道如何创建)。我错过了安装步骤吗? (不记得被提及)。在我的机器配置中:

<section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>

在 user.config 文件中找不到 Oracle。 dll信息:

C:\Program Files (x86)\Microsoft Visual Studio 14.0>gacutil /l Oracle.ManagedDat
aAccess
Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.0
Copyright (c) Microsoft Corporation.  All rights reserved.

The Global Assembly Cache contains the following assemblies:
  Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=8
9b483f429c47342, processorArchitecture=MSIL

此时没有 .NET 配置文件。在 VS 中我只是想连接服务器资源管理器

【问题讨论】:

  • 主帖中的发现
  • 这不匹配。您复制/粘贴 oracle.dataaccess 但在 GAC 中查询“Oracle。ManagedDataAccess”
  • 好的,感谢您指出这一点。我不确定那是什么意思。我天真地期望 odt 开箱即用。现在我不知道我需要做什么。我希望它能够在不成为 Oracle DBA 的情况下工作。
  • 您是否在 .NET 配置文件中检查了 /configuration/oracle.manageddataaccess.client/version/settings/setting/@name=TNS_ADMIN 的值?它是否显示您的tnsnames.ora 文件存储的文件夹。要创建 tnsnames.ora 文件,请咨询您的 DBA。
  • 是的,确实如此,而且 tnsnames.ora 就在那里。

标签: oracle visual-studio-2015 dataprovider


【解决方案1】:

您是否创建了任何tnsnames.ora 文件?如果是,你保存在哪里。与其他客户端不同,ODP.NET 托管驱动程序不使用环境设置或注册表中的TNS_ADMIN 变量。

检查 .NET 配置文件 %windir%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config&lt;oracle.manageddataaccess.client&gt; 元素的内容,分别。 .NET 配置文件 %windir%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 和/或本地配置文件(user.configweb.config)中的 &lt;oracle.manageddataaccess.client&gt; 元素

更多信息请参见Data Provider for .NET Developer's Guide

比较 .NET 配置文件中的配置,例如

<configuration>
  <configSections>
    <section name="oracle.manageddataaccess.client" type="OracleInternal.Common.ODPMSectionHandler, Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />

带有实际安装的DLL,例如:

C:\Program Files (x86)\Microsoft Visual Studio 11.0>gacutil /l Oracle.ManagedDataAccess
Microsoft (R) .NET Global Assembly Cache Utility.  Version 4.0.30319.18020
Copyright (c) Microsoft Corporation.  All rights reserved.

The Global Assembly Cache contains the following assemblies:
  Oracle.ManagedDataAccess, Version=4.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL
  Oracle.ManagedDataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=MSIL

Number of items = 2

C:\Program Files (x86)\Microsoft Visual Studio 11.0>

【讨论】:

    【解决方案2】:

    TNS 名称错误是由于缺少 TNSNames.ora 文件,该文件通常位于 Oracle 11g 的 C:\app\userprofile\product\11.2.0\client_1\network\admin 中。 TNSnames.ora 文件包含数据库连接信息。你没有说你安装的Oracle Client是什么版本,所以版本号可能不一样。我总是安装一个完整的客户端,在此过程中,TNS 配置程序运行并安装和配置 TNSNames.org 文件。我不熟悉适用于 Visual Studio 2015 的 Oracle 数据工具,但必须有某种配置工具来将您与数据库连接起来。

    要安装完整的客户端,您可以通过以下链接从 Oracle.com 下载安装:

    http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

    安装完整客户端也将解决 GAC 问题。显然安装的版本与您的数据库安装不兼容。

    【讨论】:

    • 根据错误消息,使用了 ODP.NET 托管驱动程序。这个不使用任何Oracle客户端,它是独立运行的。
    • 是的,我明白了。我建议他们使用完整的客户端。
    • 但是您还应该声明使用(非托管)ODP.NET 提供程序是 Visual Studio。
    • 无论客户端类型如何,最重要的问题是缺少提供数据库连接的连接信息的 TNSNames.ora。没有它,任何客户端都无法连接。无论用户最终决定使用什么客户端,都需要 TNSNames.ora。
    • 还有其他几种可能性,例如 Easy Connect 或 Oracle 名称服务器(目录命名)。所有这些都不需要任何tnsnames.ora 文件,请参阅Understanding Naming Methods。或者您可以将整个连接描述符手动放入连接字符串中。
    猜你喜欢
    • 2017-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-25
    • 1970-01-01
    • 2018-07-17
    相关资源
    最近更新 更多