如果调用Dispose方法则释放该对象的资源并从连接池内清除。
所以在有多次使用connection的地方,要显式关闭connection并Dispose。
即使这样,由于机器(webserver和sqlserver)自动收集connection需要一定的时间,可能还会有错误,不过你可以试试看 估计可以解决大部分问题
1、正常关闭正常关闭数据库所用的选项是normal,数据库在关闭前将检查所有的连接,并且发出命令后不允许再有新的用户连接,在等待所有连接都断开后再关闭数据库,再次启动数据库不需要任何恢复过程。
联入sys用户
sql>shutdown normal
2、紧急关闭
该方式用在某些紧急的情况下,比如通知马上停电,此时需要紧急关闭数据库以应付这些情况。这种方式用的选项是immediate,在这种方式下并不等待所有的用户断开连接再关闭,而是由系统断开连接,然后关闭数据库。
sql>shutdown immediate
一旦执行了这条命令,则将当前正在处理的sql语句马上停止,然后将所有未提交的事务回退,并且不等待当前联入数据库的用户断开连接,而是由系统强行将各个联接断开。在下次启动数据库时要执行恢复动作,不过是由系统自动执行的,用户不必去了解它。
3、异常关闭
异常关闭选项是abort,此种方式下系统并不做任何检查和断开用户 *** 作以及回退 *** 作,而是直接将数据库现场撤销,这样现场中的数据库数据当然就无效了,数据库自然也就被关掉了。
sql>shutdown abort
以abort方式关闭数据库时只有一行关闭信息表示关闭了数据库现场。以abort方式关闭的数据库再次启动时必须要进行恢复动作,这些恢复 *** 作同样是系统自动来完成的,需要的时间较长。
1、数据库一般链接后,在程序中是不主动关闭数据库连接的2、每次使用数据库的时候只用判断当前数据库链接是否已经自动关闭,若是关闭,再Open一次即可
3、在程序内部经常性链接数据库、关闭数据库连接,是会造成程序缓慢的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)