我不是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中我只想尝试连接服务器资源管理器
答案 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.config
和web.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问题。显然,安装的版本与您的数据库安装不兼容。