Wednesday, January 3, 2018

ColdFusion not maintaining connection to Azure Data Warehouse

Leave a Comment

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?

1 Answers

Answers 1

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

If You Enjoyed This, Take 5 Seconds To Share It

0 comments:

Post a Comment