日期:2014-05-18  浏览次数:20483 次

把数据库连接对象sqlConnection设置成static????
在一个项目中,把数据库连接对象sqlConnection设置成static   ,即保证整个项目只有一个数据库连接对象[类似于单件模式].  
这样会对项目有什么影响?

------解决方案--------------------
不能一概而论吧,

如果像SqlServer,最好使用的时候建立一个新的Connection,使用后关闭.
如果像Access这种的倒可以这样做,因为Jet打开和关闭是很耗时的.

但要注意程序要保证能释放或关闭掉Connection
------解决方案--------------------

------解决方案--------------------
就sql server而言,最好还是不要这样用.
需要考虑lock的问题,麻烦!
-----------------------
CSDN 论坛助手
http://china-csdn.cn
------解决方案--------------------
沙发,楼主问题貌似跟连接池有关。

将sqlConnection设置成static,一般情况下,不会有什么影响。

static不保证你在多线程模式下仍是线程安全的,但总的来说,多一个连接的消耗在这里并不会造成什么影响,但有可能造成运行时的异常。实际上在连接池之中,已经实际上类似单例的维护模式,所以,你即使是不断地new SqlConnection,也不会造成什么问题的。

需要注意的是,维护一个长时间打开的SqlConnnection在WinForm里一般不会有什么问题,而如果是ASP.NET这种线程访问模式里的话,将会造成许多问题,这个非常需要注意,这直接关系着你的系统的负担能力。



------解决方案--------------------
数据库链接用单件模式不好吧。
------解决方案--------------------
多线程的时候会出错。

------解决方案--------------------
如果像Access这种的倒可以这样做,因为Jet打开和关闭是很耗时的.
————————————————————————————————————————
跟这个无直接关系。

当你使用OleDbDataReader处理数据的时候,并不独占OleDBConnection资源,因此不会出错。
------解决方案--------------------
即保证整个项目只有一个数据库连接对象[类似于单件模式]

怎么总有些奇特的需求

------解决方案--------------------
下班了,走前接个分~