2009-11-05 20 views
0

我已经设法将Windows 64位服务器中的SQL Server 2005与ORACLE数据库连接起来。 (感谢Jeyong园先生:http://knol.google.com/k/jeyong-park/accessing-oracle-data-source-from-64bit/3vywlm4f31xae/12在Windows 64位运行SSIS与ORACLE数据源问题的问题

的问题是: 在SSIS当我用Oracle作为一个OLE DB数据源并预览数据,但它的作品,当我运行包时,OLE DB数据源任务失败并显示以下消息:

[OLE DB Source [10882]]错误:SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。
对连接管理器“PROD_cm”的AcquireConnection方法调用失败,错误代码为0xC0202009。
在此之前可能会发布错误消息,并提供更多关于为什么AcquireConnection方法调用失败的信息。

由于我可以预览数据,我认为连接没有问题。

请帮助...

+0

由我自己解决,问题是与端口有关,显然安装客户端的人输入了错误的端口号,而不是默认端口(2030)。对不起大家 – P10

回答

0

当我在一年前遇到这个问题与SQL Server 2008在Windows Server 2003 64位的问题是由不正确的驱动程序引起的。你连接的Oracle数据库的版本是什么?如果连接到8g或9i Oracle服务器,则需要使用9i Oracle驱动程序。如果您连接到10g或更好的服务器,那么您可以使用11i驱动程序。

您是否曾尝试以SQL Server代理服务帐户的身份登录服务器时运行SSIS软件包,或者您是否只在工作站上测试过该软件?如果它在你的工作站上工作,但作为服务帐户登录到服务器时不起作用,那么这个尖叫驱动程序问题给我。

0

另一个可能的问题是您的tnsnames.ora文件可能没有正确设置。文件内容应该与9.2驱动程序的下面的代码类似。请注意,您需要更换,并使用适当的值。

# tnsnames.ora Network Configuration File: C:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora 
# Generated by Oracle configuration tools. 


<SERVER_NAME> = 
    (DESCRIPTION = 
    (ADDRESS_LIST = 
     (ADDRESS = (PROTOCOL = TCP)(HOST = <IP_ADDRESS>)(PORT = <PORT_NUMBER>)) 
    ) 
    (CONNECT_DATA = 
     (SID = <SERVER_NAME> 
     (SERVER = DEDICATED) 
    ) 
) 
0

另一个可能的解决方案。如果您可以使链接服务器连接正常工作,并且由于某种原因无法让数据流正常工作,那么您可以执行链接服务器查询来下拉数据。我记得当我们无法让MYSQL驱动程序与SQL Server 2008的CTP一起工作时,这样做大约6个月。最终我们找到了正确的解决方案,但是这帮助我们在短期内启动并运行。

0

下列之一的应工作:

  1. 检查tnsnames.ora文件 - 它应该有详细的连接到Oracle DB帽子你想通过你的包进行连接。

  2. 检查您尝试连接的Oracle DB是否正常工作。我花了两天左右的时间找到了错误的根本原因,后来才知道Oracle数据库已关闭。

  3. 检查配置管理器/连接字符串中的passowrds是否完好无损。

  4. 如果您一直在包装上长时间工作,请尝试关闭并再次打开。