把数据库连接对象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资源,因此不会出错。
------解决方案--------------------即保证整个项目只有一个数据库连接对象[类似于单件模式]
怎么总有些奇特的需求
------解决方案--------------------下班了,走前接个分~