MS-SQL/ColdFusion:神秘数据库错误:对象已关闭
-
28-09-2019 - |
题
我正在使用Microsoft SQL Server 2005使用ColdFusion,有时我会遇到此错误:
“ [Macromedia] [SQLServer JDBC驱动程序]对象已关闭。”
回忆总是会像人们期望的那样导致SQL查询,即使是没有连接或输入参数或任何幻想的简单选择命令。
到目前为止,我听说过的唯一解决方案是重新启动“服务”,我只能想象它是指SQL Server服务。我已经尝试重新启动SQL Server和ColdFusion服务,但是它仍然在随机时间内一直在发生。
(也是重新启动不是解决方案。一个人不能在生产环境中在任意时间内有任意错误消息的任意页面。)
当它发生时,它会持续发生几分钟,然后走开,可能会在几秒钟或几分钟内回来。当我开发应用程序的JavaScript部分时,它开始发生,该部分与ColdFusion Code或SQL命令无关。
到目前为止,我在线搜索尚无结果。
任何帮助都赞赏。
解决方案 6
事实证明,当服务器被超载时,这只是发生这种情况。除了从服务器重新启动和/或删除负载外,似乎没有其他补救措施。
谢谢所有回答的人!
其他提示
这是旧的,但是我只是遇到了这一点,找到了一种方法,而无需重新启动CF。
在ColdFusion管理员中,请转到您的数据源,并编辑引起您问题的数据源。进行更改,例如检查不重要的框并提交。
这将重新配置连接并允许其工作。返回盒子,然后再踢盒子(如果您真的不希望它打勾)。
例如。我关闭了“启用高级ASCII角色...”命中提交,数据源工作起作用。然后,我回去检查一下,然后再次提交更改。
没有重启!理想的话,如果这是一个生产盒。
我们遇到了CF9的问题并重新启动该服务无济于事。我们在CF配置中删除并重新创建了有问题的DSN,并解决了问题。因此,如果其他解决方案不起作用,请尝试一下。
我的直觉是,您将需要查看代码之外并使用DBA来研究数据库服务器本身的稳定性。听起来SQL Server服务正在悬挂或变得无反应。
像大多数不当行为的软件一样,我看的第一个位置是驱动程序。您可能想确保您正在使用最新的Microsoft JDBC驱动程序。我知道他们已经提高了最新驱动程序的性能,这也可能解决了您所看到的问题。
如果您正在使用Coldfusion船的驾驶员,那就是 绝对地 值得升级。
请注意,如果您进行升级,则如果您的插入语句使用Scope_identity()返回新插入的行的ID,则需要在设置nocount上;在每个插入语句的顶部,以防止SQL Server返回插入的行数,而不是插入行的ID。
担
SQL 2K中有一个错误,我认为2K5,因此该系统会认为它处于关闭模式,尽管从未被要求关闭服务。 IIRC,它丢下了类似于您的错误。我的MS有一个补丁,尽管我似乎还记得这是单独的下载,而不是MS Update的一部分。
很抱歉如此模糊,但是自从我处理这个问题以来已经有一段时间了。希望这可以帮助您入门。