我们运行夜间流程,每晚使用Crystal Reports生成大量(~8000)报告。这实际上只是为我们的每个客户运行一次的14个不同的报告。报告的数据源是一个Windows ODBC连接(通过控制面板),并连接到我们网络上的Oracle 10g实例。
我们当前的生产机器运行Windows 2000专业版,我们最近购买了一台新机器来替换它,目的是在Windows Server 2008下运行它。在准备进行切换时,我们注意到测试在我们的本地开发机器上运行使用Windows XP可以正常运行,直到生成大约950-1100个报告。数量不尽相同,但一旦停止工作,就不能与机器建立连接,直到您等待大约30分钟,重新启动机器或从其他人的机器运行它。一旦它停止工作,我们就无法使用其他应用程序(例如Toad)从该机器连接到Oracle服务器,直到等待时间或重新启动计算机为止。今天我们决定在新机器上尝试它,以防它只是我们的开发环境的异常,但新机器遇到了完全相同的问题。我们已经尝试查看ODBC连接的设置,每个屏幕都完全相同。我们确信所安装的所有软件的版本都完全匹配生产。
返回的错误是Crystal:Database connector error
的超时错误。当我们尝试重新启动应用程序时,我们立即遇到错误:
Unhandled Exception: System.Data.Odbc.OdbcException: ERROR [HY000] [Oracle][ODBC][Ora]ORA-12535: TNS:operation timed out
ERROR [IM006] [Microsoft][ODBC Driver Manager] Driver's SQLSetConnectAttr failed
ERROR [HY000] [Oracle][ODBC][Ora]ORA-12535: TNS:operation timed out
我们完全停留在Google的搜索字词上,但我们认为它与生成的报告数量有关。
任何人都可以帮忙解决这个问题吗?
答案 0 :(得分:2)
ORA-12535是网络或防火墙问题。 PERIOD 强>
在应用程序方面没有什么可以调查的 在网络方面调查的一切都像 - 有没有防火墙在玩 - 是否有任何网络地址转换 - 在防火墙中打开了正确的端口 - Oracle是否使用随机返回端口(默认情况下,Oracle总是使用2 tcp / ip ports,第一个修复,并在tnsnames.ora中配置 实际通信发生在一个Radom端口上。如果这是一个问题 在您的网站,你需要修复) - 您需要运行netstat -r来识别实际使用的端口。
我的经验是,除了顽固的网络和/或防火墙 涉及的管理员,问题总是可以解决。我有 发布了解决这个问题的常用方法,我知道了 目前大多数海报都没有尝试研究 谷歌的档案。但我不会再发布它们了。他们是 易于查找,并且它们也在Net管理员中记录 手册。响应查询的少数人应该停止 奖励懒惰。如果这会使这个论坛灭绝,那就这样吧。 Sybrand Bakker 高级Oracle DBA