ODBC连接Firebird的连接数受限问题及扩容可行性咨询
Firebird ODBC连接数限制问题
我编写了测试代码连接Firebird数据库(版本覆盖2.5至5.0),在C# x64环境下的测试结果如下:
使用FbConnection的测试结果
使用FbConnection建立1000个连接可正常运行,代码如下:
List<FbConnection> fbList = new List<FbConnection>(); for (int i = 1; i <= 1000; i++) { try { var connection = new FbConnection("User=SYSDBA;Password=masterkey;Database=localhost/3053:c:\\rollcontrol\\rollcontrol;Pooling=false; MinPoolSize=0;MaxPoolSize=2000"); connection.Open(); fbList.Add(connection); Console.WriteLine(i.ToString()); } catch (Exception e) { Console.WriteLine(DateTime.Now.ToString() + ": " + e.ToString()); } }
使用OdbcConnection的测试结果
但使用OdbcConnection建立1000个连接时,进程在建立180个连接后无报错挂起,代码如下:
List<OdbcConnection> odbcList = new List<OdbcConnection>(); for (int i = 1; i <= 1000; i++) { try { OdbcConnection DbConnection = new OdbcConnection("DSN=rollcontrol"); DbConnection.Open(); odbcList.Add(DbConnection); Console.WriteLine(i.ToString()); } catch (Exception e) { Console.WriteLine(DateTime.Now.ToString() + ": " + e.ToString()); } }
疑问
请问ODBC存在连接数限制吗?是否可以提升连接数上限?
【更新】该问题已在Firebird ODBC Driver 3.0.16及ODBC 2.0.6版本中修复。
内容的提问来源于stack exchange,提问作者Николай Невзоров
相关产品推荐
相关产品推荐

