通过 SQL 代理运行 SSIS 包时出现此错误 无法获取连接“ORACLE ADO.NET”。连接可能未正确配置,或者您可能对此连接没有正确的权限。
当我以 SQL 代理用户身份登录并直接运行 ssis 包时,一切正常。当我然后通过 SQL 代理作业执行它时,它失败了。
我已经广泛阅读了有关此主题的内容,似乎很多建议都涉及您如何登录、配置代理帐户等,等等,但没有一个有帮助。
我正在使用 ADO.NET 连接登录 Oracle 数据库。连接字符串如下(数据源、用户ID和密码已更改):
数据源=DATASOURCE;用户ID=userid;密码=password;持久安全信息=True;Unicode=True;
我正在使用包配置从注册表设置加载此内容。为了检查我是否获得了正确的字符串,我将其写入临时日志表中。我肯定会从正确的注册表设置中获取我需要的字符串。
我已经通过 PL/SQL Developer 测试了 Oracle 登录凭据,它让我可以正常登录。
据我所知,由于我对 Oracle 连接使用显式用户名和密码,因此 SSI 包以谁的身份运行并不重要。我能看到的唯一失败点是从注册表中读取信息,但这似乎没问题。
我必须承认,我真的很困惑,并且非常感谢这里一些出色的专家可以提供的任何帮助。
非常感谢, 詹姆斯
最佳答案
好吧,在经历了相当大的痛苦之后找到了这个。
它在一种环境中运行良好,但在另一种环境中则不然,因此我启动了 Process Monitor ( http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx ) 并通过 SQL 代理作业运行一个包,比较每个环境中哪些系统实体受到攻击。
在失败的环境中,在批量传输操作时,程序包尝试获取 Oracle 11 客户端 DLL,然后挂起。
我知道这个已安装,而且DLL路径是系统环境设置。经过进一步调查发现,由于Oracle Client安装后服务器没有重新启动,并且SQL Server Agent进程没有被回收。
是的,你能相信吗,旧的帮助台修复了“你能重新启动计算机吗?”工作了。
叹息!
关于sql-server - SQL 代理作业 - 连接可能未正确配置,或者您可能对此连接没有正确的权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1687084/