在 Visual Studio 调试期间无法连接到 Oracle 数据库

Posted

技术标签:

【中文标题】在 Visual Studio 调试期间无法连接到 Oracle 数据库【英文标题】:Cannot connect to Oracle database during Visual Studio debugging 【发布时间】:2015-05-04 16:30:23 【问题描述】:

在 Visual Studio 中以调试模式运行 SSIS 包时,我在连接到 Oracle 数据库时遇到问题。我正在使用安装了 Data Tools 和 Oracle 10g 客户端的 Visual Studio 2012。

我正在使用 10g 客户端附带的 Oracle Provider for OLE DB。我可以创建一个到服务器的连接管理器连接并测试连接性。我还可以在 OLE DB 源编辑器中预览我的查询中的数据。只是调试时连接失败。

实际的错误信息是:

Error: 0xC0202009 at TW_Billing, Connection manager "server.schema": SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80004005.
An OLE DB record is available.  Source: "OraOLEDB"  Hresult: 0x80004005  Description: "ORA-12154: TNS:could not resolve the connect identifier specified".
Error: 0xC020801C at Data Flow Task, ERDB Billing45 Source [2]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager "server.schema" failed with error code 0xC0202009.  There may be error messages posted before this with more information on why the AcquireConnection method call failed.
Error: 0xC0047017 at Data Flow Task, SSIS.Pipeline: ERDB Billing45 Source failed validation and returned error code 0xC020801C.
Error: 0xC004700C at Data Flow Task, SSIS.Pipeline: One or more component failed validation.
Error: 0xC0024107 at Data Flow Task: There were errors during task validation.

我对这个问题所做的大部分研究都指向一个 32 位错误。我尝试将 ForcedExecutionMode 设置为 Int32 并将 ForceExecutionMode 设置为 True。我还将项目属性从 Run64bitRuntime 更改为 False。这些都没有影响。

如果有什么不同,我们将 LDAP 用于 Oracle 连接。也就是说,我通常不会遇到连接到 TNS 名称服务器的问题(即,我可以在 Visual Studio 调试模式下以外的任何方式连接到 Oracle 服务器)。

【问题讨论】:

为什么不使用Oracle Managed Client? 调试时是否切换到“x86”? IE。它适用于 64 位吗? 我做到了。请看下面我的回答。我错过了 Visual Studio 的 Oracle 开发人员工具。 【参考方案1】:

所以我显然没有为 Visual Studio 安装 Oracle 开发人员工具:

http://www.oracle.com/technetwork/developer-tools/visual-studio/overview/index-097110.html

将它安装在新的 Oracle Home 位置并重新启动 Visual Studio 解决了我的问题。包现在可以在调试过程中正确运行。

【讨论】:

以上是关于在 Visual Studio 调试期间无法连接到 Oracle 数据库的主要内容,如果未能解决你的问题,请参考以下文章

Azure Front Door Visual Studio 远程调试

Visual Studio 代码调试器未连接到 SAM Local

Visual Studio 中的远程调试无法连接

无法再使用 Visual Studio 2008 连接到 Visual Studio Team Services

无法在 Visual Studio 2017 中调试 Azure 计时器功能

无法连接到 Visual Studio 中的 SQL Server