数据库直连如果不关闭数据库是一直连着的吗?下次调用是什么机制啊
5个回答
展开全部
会一直连着,有的数据库,如oracle会在连接空闲多长时间后自动断开连接。直连的话,下次连接会重新申请一个连接,由于数据库连接有最大限制,所以建议连接用完后关闭。
追问
那么是直连好呢?还是通过配置文件一直保持连着好呢?两则优缺点是什么啊?
追答
通过配置文件一直保持连接是用Pool机制,也就是连接池,连接池内会保持一定的连接数量,当用户需要使用的时候会到连接池内取到连接,用完之后归还。
加入数据库访问频繁,建议使用pool,数据库只有单线路少量访问时可以使用直连。
展开全部
这个要看你用的是什么编程语言和程序运行方式了。要是像PHP这样的网页脚本,一般是一段程序执行完候就会自动关闭打开的数据库链接和释放其他打开的资源,但要是用c++这种程序的话,你要是没有手动关闭链接的话,只要程序不关闭基本上就是处于链接状态
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
对于DB Connection,JVM突然崩溃,DB Server是有办法知道的,最起码它知道Socket连接断开了,数据库连接依赖于它。我测试过Oracle和MySQL的连接,对Oracle的连接,如果不调用Connection.close()方法,即使Socket连接断开了(比如JVM退出),服务器端是不会关闭数据库连接的,但是它设置有超时时间。对MySQL的连接,一旦Socket连接断开,服务器端就会自动关闭数据库连接。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数据库连接 调用玩数据之后 记得一定关闭
要不然服务器资源会被抑制耗着!
下次调用的时候再连接 调用玩在关闭
你可以在conn数据库连接文件中 写一个自定义过程
--------------------------
以上是asp连接数据库
实例
<%
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'数据库链接文件开始
response.expires=0
response.buffer=true
session.timeout=300
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Access 数据库
dim conn,connstr
sub OpenDataConn()
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
ConnStr = connstr & Server.MapPath("database/database.mdb")
Set Conn = Server.CreateObject("AdoDb.Connection")
Conn.Open ConnStr
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
end sub
sub CloseDataConn()
conn.close
set conn=Nothing
end sub
'数据库链接文件结束
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
%>
要读取数据库的地方写上
OpenDataConn()
用完时候关闭的地方写上
CloseDataConn()
要不然服务器资源会被抑制耗着!
下次调用的时候再连接 调用玩在关闭
你可以在conn数据库连接文件中 写一个自定义过程
--------------------------
以上是asp连接数据库
实例
<%
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'数据库链接文件开始
response.expires=0
response.buffer=true
session.timeout=300
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'Access 数据库
dim conn,connstr
sub OpenDataConn()
ConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="
ConnStr = connstr & Server.MapPath("database/database.mdb")
Set Conn = Server.CreateObject("AdoDb.Connection")
Conn.Open ConnStr
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
end sub
sub CloseDataConn()
conn.close
set conn=Nothing
end sub
'数据库链接文件结束
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
%>
要读取数据库的地方写上
OpenDataConn()
用完时候关闭的地方写上
CloseDataConn()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把分都给我吧 我打电话告诉你 呵呵 (╯3╰)
追问
你有不良企图,先打电话给我吧,我给你分……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询