■■多个进程间如何共享数据库连接池?■■求答案

■■多个进程间如何共享数据库连接池?■■求答案,第1张

当连接打开时,SqlConnection对象的ConnectString属性将根据一种精确的匹配算法来创建连接池,该算法会使连接池与连接中的字符串相关联。每个连接池都与一个不同的连接字符串相关联。当新连接打开时,如果连接字符串不精确匹配现有池,则将创建一个新池。

连接池一旦创建,直到活动进程终止时才会被毁坏。维护不活动的池或空池占用的系统资源非常少。

连接池是为每个唯一的连接字符串创建的。当创建一个池后,将创建多个连接对象并将其添加到该池中,以满足最小池大小的要求。连接将根据需要添加到池中,直至达到最大池大小。

在请求 SqlConnection对象时,如果存在可用的连接,则将从池中获取该对象。要成为可用连接,该连接当前必须未被使用,具有匹配的事务上下文或者不与任何事务上下文相关联,并且具有与服务器的有效链接。

如果已达到最大池大小且不存在可用的连接,则该请求将会排队。当连接被释放回池中时,连接池管理程序通过重新分配连接来满足这些请求。连接在关闭或断开时释放回池中。

------解决方案--------------------------------------------------------

数据库连接池不是.NET去控制的,由數據庫本身控制的.

你可以在WebConfig /App.Config中設定 ConnectionString時加上 MultipleActiveResultSets = True

这样设定来启动多活动结果集来优化连接.

不过这个设定仅适合SQL Server 2005(含)以上版本.

------解决方案--------------------------------------------------------

你这就是拿锅铲躲雨-总会有地方照顾不到.

如果你是CS,不论你DB是Oracle还是SQL Server,客户端是瘦客户端.

那么访问数据,获取资料,再返回资料这部分就应该抽取由WebService或者WCF来完成

你在每个CS客户端以不同用户远程同一台服务器,启动的是同一个程序,现在每启动一个实例

你觉得不同用户进程之间的通讯容易一下还是直接统一访问数据,获取资料容易一些?探讨先说明一下我访问的是Oracle,并且是CS程序,如果一个进程内部,当然可以自动启用连接池,一个程序我只占了一个连接,查询数据库也的确如此,当如果我启动两个进程,那数据库那边连接就变成了二个,如果我同时打开三个进程,则连接一定是三个,连接池是跟进程与作用域相关联的,不知道有没有办法让多个进程共享同一连接池。

------解决方案--------------------------------------------------------

------解决方案--------------------------------------------------------

webservice还不就是干这类的事

------解决方案--------------------------------------------------------

用完了就放回去,就这么简单。

不行吧。连接数据库要连接池,就是connection对象要放在一个LinkedList里面,然后每个线程一个。这个这个List被封装在一个单例模式的对象里。线程要是共享connection,要是搞起并发来,一下子就挂了。

1.配置IP地址

首先在“电脑 A ”上配置 IP 地址 , 单 击 “开始菜单” -- “运行” ,在d出的运行命令框内 输入“ conrtol ”打开控制面板 , 找到“网络连接”打开 , 右键单机“本地连接”—“属性” , 双击“ Internet 协议( TCP/IP )”,在d出的命令框内 选择“使用下面 IP 地址” ,然后在 在“ ip 地址”和“子网掩码”分别输入“ 192.168.1.55 ”和“ 255.255.255.0 ”确定 , 在“电脑 B ”上重复 以上步骤 ,“ ip 地址”和“子网掩码”改成“ 192.168.1.66”和“ 255.255.255.0 ”“确定” 。

2. 关闭防火墙

输入“ conrtol ”打开控制面板 , 找到“ Windows 防火墙”“关闭” , 单 击 “确定” 。(两个电脑都要关了)

3.更改“本地策略

“开始” -- “运行”输入“ gpedit.msc ”“确定”,展开“ Windows 设置” -- “本地策略”—“安全选项 。 将“帐户 : 使用空白密码的本地帐户只允许进行控制台登录”双击 。 双击改为“已停用”并确定 。(同样两个电脑都要改)

4.共享需要访问的文件夹

右键“文件” -- “属性” , 选择“共享” -- “共享此文件夹”单 击 “确定” 即可。 最后在“电脑 A ”上访问“电脑 B ”,在电脑 A 上打开“开始菜单”—“运行”输入“ 192.168.1.2test ”“确定” ,就可以看到我们共享的文件了。

注意事项:

两台电脑都要配置 IP 地址,就是第一大步 。

要共享哪一个电脑就在那个电脑上 *** 作第 2-4 大步 。

用完后要把“帐户 : 使用空白密码的本地帐户只允许进行控制台登录”还原为“已停用”,如果开启的,可能会不安全 。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10820699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存