我想从 Visual Studio 2015 Enterprise Update 3 连接 Oracle。安装 ODT For Visual Studio 2015 后,添加与数据提供程序 Oracle 数据库(ODP.NET 托管驱动程序)弹出窗口的新连接似乎很奇怪,即使连接字符串为空,测试连接也会成功 -添加了 ss- 并且当按下 ok 时,会发生意外错误。
64位机器,卸载ODAC,修复Visual Studio 2015,安装ODT for vs 2015。
谢谢并恭祝安康,
我想从 Visual Studio 2015 Enterprise Update 3 连接 Oracle。安装 ODT For Visual Studio 2015 后,添加与数据提供程序 Oracle 数据库(ODP.NET 托管驱动程序)弹出窗口的新连接似乎很奇怪,即使连接字符串为空,测试连接也会成功 -添加了 ss- 并且当按下 ok 时,会发生意外错误。
64位机器,卸载ODAC,修复Visual Studio 2015,安装ODT for vs 2015。
谢谢并恭祝安康,
更新 22/11/2019
大家好,
在浪费了数小时(甚至数年)试图用 Visual Studio 解决 Oracle 问题之后,我发现如果安装了 VS2017 和 VS2019 并重新安装了 ODTforVSXXX,在我的情况下为 ODTforVS2017_122011.exe,安装程序会将所有设置添加到文件中“最新 Visual Studio 的 devenv.exe.config”,在本例中为 VS2019。要解决该错误,您必须将这些设置从“devenv.exe.config”(2019)复制到“devenv.exe.config”(2017)。
<dependentAssembly>
<assemblyIdentity name="Oracle.ManagedDataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
<codeBase version="4.122.1.0" href="c:\program files (x86)\oracle developer tools for vs2017\odp.net\managed\common\oracle.manageddataaccess.dll" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Oracle.ManagedDataAccess.EntityFramework" publicKeyToken="89b483f429c47342" culture="neutral" />
<codeBase version="6.122.1.0" href="c:\program files (x86)\oracle developer tools for vs2017\odp.net\managed\common\ef6\oracle.manageddataaccess.entityframework.dll" />
</dependentAssembly>
<system.data>
<DbProviderFactories>
<remove invariant="Oracle.ManagedDataAccess.Client" />
<add name="ODP.NET, Managed Driver" invariant="Oracle.ManagedDataAccess.Client" description="Oracle Data Provider for .NET, Managed Driver" type="Oracle.ManagedDataAccess.Client.OracleClientFactory, Oracle.ManagedDataAccess, Version=4.122.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
<remove invariant="Microsoft.SqlServerCe.Client" />
<remove invariant="Microsoft.SqlServerCe.Client.3.5" />
<remove invariant="Microsoft.SqlServerCe.Client.4.0" />
<add name="Microsoft SQL Server Compact 4.0 Client Data Provider" invariant="Microsoft.SqlServerCe.Client.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact 4.0 Client" type="Microsoft.SqlServerCe.Client.SqlCeClientFactory, Microsoft.SqlServerCe.Client, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
</system.data>
我希望它能起到一些作用。干杯!
这已经晚了,但是......在我的情况下,问题是,ODT 在更新后不知何故失去了与 TNSNAMES 文件的连接。我得到了完全相同的错误:“ODP.NET,托管驱动程序中发生意外错误”但是,“测试连接”=成功。
我所做的是卸载 VS 的 ODT 并重新安装。确保现在以管理员身份运行 VS。接下来,当我踩到连接时,我得到一个不同的错误:“在可用的别名列表中找不到 xxxxx”。这是 TNSNAMES.ora 错误或未找到的线索。
在 Visual Studio 中,通过服务器资源管理器 -> 修改连接,现在扩展的对话框又回来了。
我单击“搜索...”按钮(在向导中)找到正确的 Tnsnames.ora,然后选择“复制”选项将 TNSNAMES.ora 复制到 ODT 想要的位置:“c:\program files (x86)用于 vs2017 的 \oracle 开发人员工具\network\admin\"。这是您必须是管理员的地方,否则复制将失败。
此时您可以选择您的数据源名称,它应该可以工作。希望这会有所帮助,它肯定为我解决了这个问题。您的步骤可能会有所不同,但问题是 ODT 在更新后丢失了它的 TNSNAMES 副本。