那你把连接数据库的语句写出来看看
你再在出现错误时telnet服务器的1344口看通不
conn.open "Provider=SQLOLEDB.1Persist Security Info=TrueUser ID=trip1314_fpwd=123456Initial Catalog=trip1314Data Source=127.0.0.1"
conn.open "driver={sql server}server=127.0.0.1uid=trip1314_fpwd=123456database=trip1314"
试试这两条语句看看吧,有病乱投医嘛
补充一下:不管对于什么样的应用程序,即使频繁访问数据库的程序,也不建议长时间不释放连接。因为数据库最主要的目的就是用来共享数据,而且数据库必然要为多用户、多程序服务,所以数据库有限的资源是非常重要的。现在为了提供效率,一般都是使用数据库连接池的方法。不知道你用来干什么,无法说的更详细了。举例子,就好比你给某个厂商打电话,要求技术支持。即使你不说话,但是如果你一直不放下电话,其他人就无法把电话打进来。大的厂商,会有多个客户电话,但不是无限的。
而数据库也是如此,虽然有的服务器强大些,但是他的处理能力也有限的。当某个程序连接上数据库后,数据库就必须为他分配一定的资源,只要这个程序不断开连接,那么为他分配的资源,就无法释放,也就无法被其他程序使用。当这样的程序足够多时,再有新程序来,数据库就没有资源可分配了。这时有的数据库就要重新启动了,强行释放这些被占用的资源。
你可自己测试一下,多运行几个你这样的程序,看看你的数据库能承受到什么时候。
数据库资源包括连接数、游标数等,你可以通过设置数据库参数来增加这些数目,但不是无限的。因为这些资源最终还是会受你的机器硬件限制(内存、CPU等)
数据库的资源是有限的,如果程序不断开连接,那么数据库资源就无法释放。如果还有其他程序需要访问数据库,那么当数据库资源耗尽的时候,这些程序就只能等待,直到超时失败。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)