ODT和Visual Studio - 总失败

时间:2017-05-09 17:14:09

标签: oracle visual-studio-2015 dataprovider

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

  

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

这很奇怪,因为我刚刚完成了消息所说的内容。下次我启动VS时,错误再次弹出。

如果我确定该消息,我会得到另一个消息:

  

无法找到默认的tnsnames.ora。无法加载类型   OracleInternal.Common.ConfigBaseClass'从装配   Oracle.ManagedDataAccess,Version = 4.121.2.0,Culture = Neutral,   公钥= 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中我只想尝试连接服务器资源管理器

2 个答案:

答案 0 :(得分:1)

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

检查.NET配置文件<oracle.manageddataaccess.client>中的%windir%\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config元素的内容,resp。 .NET配置文件<oracle.manageddataaccess.client>中的%windir%\Microsoft.NET\Framework\v4.0.30319\Config\machine.config元素和/或本地配置文件(user.configweb.config

有关详细信息,请参阅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>

答案 1 :(得分:-1)

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

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

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

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