Questions? Feedback?powered byOlark live chat software
Bug 2819

ADO connection pool 17 June, 2019

Sally D
06 June, 2019
Product: PowerBuilder Category: PowerScript IDE
Version: 2017 R3 Publishing: Public
Status: Analyzing Priority: P3
Classification: Resolution:
Chris Pollach 17 June, 2019
Hi Sally;

  We have not heard back from you for a while. Were you able to resolve this issue?

Regards ... Chris
Chris Pollach 11 June, 2019
Hi Sally;

   AFAIK, you would need to monitor the connection pooling & performance from the DBMS side. You can use features of the DBMS itself (contact SAP for ASE specifics) or use 3rd party tools. For example: https://www.appdynamics.com/blog/product/monitoring-ado-net-performance


   You can also add O/S performance monitoring counters specifically for ADO.Net. For example:  https://www.progress.com/blogs/ado-net-performance-monitor-counters-(perfmon)

HTH
Regards ... Chris
Sally D 11 June, 2019
Hi Chris,

How to prove the connect pool effect? When we set the max pool connection size as 5, how to identify the pool's size 5 take effect?

Thanks,
Sally
Sally D 11 June, 2019
Hi Chris,

How to prove the connect pool effect? When we set the max pool connection size as 5, how to identify the pool's size 5 take effect?

Thanks,
Sally
Sally D 10 June, 2019
(In reply to Chris Pollach from comment #3)
Hi Sally;

  A basic syntax example for ASE ADO.Net connection pooling is ...

Data Source=myASEserver;Port=5000;Database=myDataBase;Uid=myUsername;
Pwd=myPassword;Min Pool Size=5;Max Pool Size=50;

HTH
Regards ... Chris
Hi Chris, I already set the the config like below, but seems the pool doesn't effect. sqlca1= create transaction sqlca1.DBMS = "ADO.NET" sqlca1.LogPass = "****" sqlca1.LogId = "****" sqlca1.Database ='****' sqlca1.dbparm="Namespace='Sybase.Data.AseClient',Database=****,DataSource=****,ADORelease='2.155.1015.0',PROVIDERSTRING='Pooling=TRUE; Min Pool Size=10; Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;'" connect using sqlca1 ;
Sally D 10 June, 2019
(In reply to Chris Pollach from comment #3)
Hi Sally;

  A basic syntax example for ASE ADO.Net connection pooling is ...

Data Source=myASEserver;Port=5000;Database=myDataBase;Uid=myUsername;
Pwd=myPassword;Min Pool Size=5;Max Pool Size=50;

HTH
Regards ... Chris
Hi Chris, I already set the the config like below, but seems the pool doesn't effect. sqlca1= create transaction sqlca1.DBMS = "ADO.NET" sqlca1.LogPass = "****" sqlca1.LogId = "****" sqlca1.Database ='****' sqlca1.dbparm="Namespace='Sybase.Data.AseClient',Database=****,DataSource=****,ADORelease='2.155.1015.0',PROVIDERSTRING='Pooling=TRUE; Min Pool Size=10; Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=5;Decr Pool Size=2;'" connect using sqlca1 ;
Chris Pollach 10 June, 2019
Hi Sally;

  A basic syntax example for ASE ADO.Net connection pooling is ...

Data Source=myASEserver;Port=5000;Database=myDataBase;Uid=myUsername;
Pwd=myPassword;Min Pool Size=5;Max Pool Size=50;

HTH
Regards ... Chris
Sally D 09 June, 2019
(In reply to Chris Pollach from comment #1)
Hi Sally;

  This has and still IS still the case for all PB's various DBMS client
connectivity settings. The new setting(s) will only take effect on the next
Disconnect / Connect sequence. 

  So the key thing for the App developer to keep in mind is to make sure
they set all the values properly in the DBParm field of SQLCA *before* the
initial Connect. If changes are required in mid-stream ... then a Disconnect
/ Connect command pair is required (outside of an active DB transaction of
course) to adopt the new connection values.

HTH
Regards ... Chris
Hi Chris, Thanks for replying. But the issue i met is that how to set the max connect pool size before connect DB with ADO.net? I set it in the DBParm before connect DB, but it doesn't effect. For example, though i set the max pool size is 5, still it could connect with 6 or more connections at the same time by different user. Not sure how to use the connection pool with ADO.net in PB. Thanks, Sally
Chris Pollach 06 June, 2019
Hi Sally;

  This has and still IS still the case for all PB's various DBMS client connectivity settings. The new setting(s) will only take effect on the next Disconnect / Connect sequence. 

  So the key thing for the App developer to keep in mind is to make sure they set all the values properly in the DBParm field of SQLCA *before* the initial Connect. If changes are required in mid-stream ... then a Disconnect / Connect command pair is required (outside of an active DB transaction of course) to adopt the new connection values.

HTH
Regards ... Chris
Sally D 06 June, 2019
*Phenomenon:
Using ADO.net to connect Sybase, but the connection pool doen's effect

refer to : https://www.appeon.com/standardsupport/track/view?id=2778
The connection has been ok with ADO.Net, but the when we set the max connect pool, and without disconnect DB. The max pool doesn't effect. Is the connection string we are using not correct?

dbparm="Namespace='Sybase.Data.AseClient',Database='**',DataSource=***,ADORelease='2.155.1015.0',PROVIDERSTRING='Pooling=TRUE;Max Pool Size=5; Min Pool Size=1; Connection Lifetime=120;Connection Timeout=60;Incr Pool Size=1;Decr Pool Size=1'"/>
OS:
Windows 7 
Platform:
64-bit 
Database Type:
SAP ASE 
Database Version: