
C#里一个SqlConnection只能同时begin一个Transaction吗?
C#里一个SqlConnection只能同时begin一个Transaction吗??例如多个线程公用一个SqlConnection,每次存取数据时开启一个Transac...
C#里一个SqlConnection只能同时begin一个Transaction吗??
例如多个线程公用一个SqlConnection,每次存取数据时开启一个Transaction,存储完成后销毁该Transaction。但是当多个线程同时进行存储时会出现系统错误,提示不能开新的Transaction。难道一个SqlConnection只能同时用一个Transaction???
我想每次存储时new一个SqlConnection,然后用这个SqlConnection去开一个Transaction,这样做会不会有什么问题??系统开销会不会很大??
谢谢高手指点! 展开
例如多个线程公用一个SqlConnection,每次存取数据时开启一个Transaction,存储完成后销毁该Transaction。但是当多个线程同时进行存储时会出现系统错误,提示不能开新的Transaction。难道一个SqlConnection只能同时用一个Transaction???
我想每次存储时new一个SqlConnection,然后用这个SqlConnection去开一个Transaction,这样做会不会有什么问题??系统开销会不会很大??
谢谢高手指点! 展开
展开全部
如果了解事务的概念,就能知道一个SqlConnection只能同时用一个Transaction
事务的四大特性之一隔离性明确地说明了,各个事务是彼此隔离,互不干扰的。
想提高系统的性能,不是要多线程公用连接(按理肯定是不同连接,否则一个线程在用DataReader读,其他的线程不是要等着),而是要每个连接用完后尽快地归还给连接池,保证连接池又足够多的活动连接就能让下一个数据库请求尽快完成(避免了创建连接和销毁链接的开销)
事务的四大特性之一隔离性明确地说明了,各个事务是彼此隔离,互不干扰的。
想提高系统的性能,不是要多线程公用连接(按理肯定是不同连接,否则一个线程在用DataReader读,其他的线程不是要等着),而是要每个连接用完后尽快地归还给连接池,保证连接池又足够多的活动连接就能让下一个数据库请求尽快完成(避免了创建连接和销毁链接的开销)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询