在皕杰報表使用數據源的時候,超過數據庫最大連接數導致訪問不成功。如何修改常用數據庫的的最大連接數?
這實際上是數據庫本身的設置,下面僅就oracle、MySQL、sqlserver加以說明。
1. oracle
鏈接信息
SELECT * FROM v$session;
主要字段含義:
Username:連接用戶名
Program:應用程序名
machine:機器名
Osuser:操作系統用戶
logon_time:登錄時間
STATUS:session狀態( Achtive:正執行SQL語句,Inactive:等待操作.Killed:被標注為刪除)
連接總數
SELECT COUNT (*) FROM v$session;
正在執行sql語句的連接數
SELECT COUNT (*) FROM v$session where status = 'ACTIVE';
某用戶的連接數
SELECT COUNT (*) FROM v$session where status = 'ACTIVE' AND username = 'xxxx';
查看允許的最大鏈接數
select value from v$parameter where name = 'processes';
修改最大連接數
alter system set processes = 300 scope = spfile;
2. Mysql
查看mysql的最大連接數:
show variables like '%max_connections%';
查看服務器響應的最大連接數:
show global status like 'Max_used_connections';
修改最大連接數
set GLOBAL max_connections=256;
方法2
修改mysql配置文件my.cnf,在[mysqld]段中添加或修改max_connections值:
max_connections=256
重啟mysql服務即可。
Mysql5.5 mysql5.6 mysql5.7:默認的最大連接數都是151,上限為:100000
Mysql5.0版本:默認的最大連接數為100,上限為16384
3. Sqlserver
查詢最大連接數
SELECT value_in_use
FROM sys.configurations c
WHERE c.name = 'user connections';
默認值為:0,即無限制。
查詢當前連接數
select count(distinct(login_time)) from sys.sysprocesses
設置最大連接數
exec sp_configure 'show advanced options', 1
GO
RECONFIGURE WITH OVERRIDE
GO
exec sp_configure 'user connections', 300
GO
RECONFIGURE WITH OVERRIDE
GO
設置過后需要重啟數據庫才會生效。






