Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

ColdFusion not maintaining connection to Azure Data Warehouse

Our ColdFusion 2016 Enterprise server (Windows Server 2012 R2) is not maintaining connections to an Azure Data Warehouse. The first Azure query on a page takes a second or more to run. Subsequent Azure queries on the same page take a fraction of a second, e.g.:

test1 (Datasource=azureDev, **Time=3485ms**, Records=1) in D:\DW\dwtest\CF2016\bob\azureAdhoc.cfm @ 12:10:12.012
select count(*) cnt from dimpatient where name like 'smith%' and birthdate >'2014-02-01' 

test2 (Datasource=AzureDev, **Time=125ms**, Records=3) in D:\DW\dwtest\CF2016\bob\azureAdhoc.cfm @ 12:10:12.012
select * from dbo.dimPatientMergeStatus 

test3 (Datasource=azureDev, **Time=281ms**, Records=1) in D:\DW\dwtest\CF2016\bob\azureAdhoc.cfm @ 12:10:13.013
select count(*) cnt from dimpatient where name like 'jones%' and birthdate >'2004-02-01' 

It seems apparent that CF is taking extra time to actually make the connection while running the first query on the page. We've tried with various queries and re-arranging their order and always end up with the same result.

We are connecting to Azure using the latest MS jdbc driver (mssql-jdbc-6.2.2.jre8.jar) and 'Maintain Connections' is checked. We first attempted to connect using the built in Microsoft SQL Server driver but kept getting this error:

Connection verification failed for data source: AzureDev2
java.sql.SQLException: [Macromedia][SQLServer JDBC Driver]Error
fetching requested database meta-data info.

We do not see this issue when we run the queries in SSMS.

Any idea what might be wrong?

like image 432
Bob Keleher Avatar asked Dec 19 '17 22:12

Bob Keleher


1 Answers

How does ColdFusion Server manage database connections when there are client variables?

With ColdFusion Server version 4.5.1 SP1 and higher, when you store your client variables in a database, your code connects to the database only when a variable is set. This prevents unnecessary database connections, for instance, in a case where you are using client management, but no client variables are present in a particular request.

https://helpx.adobe.com/coldfusion/kb/database-connections-handled-coldfusion.html

like image 88
Ebuzer Taha KANAT Avatar answered Oct 27 '22 14:10

Ebuzer Taha KANAT