ColdFusion未保持与Azure数据仓库的连接

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ColdFusion未保持与Azure数据仓库的连接相关的知识,希望对你有一定的参考价值。

我们的ColdFusion 2016 Enterprise服务器(Windows Server 2012 R2)未维护与Azure数据仓库的连接。页面上的第一个Azure查询需要一秒或更长时间才能运行。在同一页面上的后续Azure查询只需要几分之一秒,例如:

test1 (Datasource=azureDev, **Time=3485ms**, Records=1) in D:DWdwtestCF2016obazureAdhoc.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:DWdwtestCF2016obazureAdhoc.cfm @ 12:10:12.012
select * from dbo.dimPatientMergeStatus 

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

很明显,CF在页面上运行第一个查询时需要额外的时间来实际建立连接。我们已经尝试了各种查询并重新安排他们的订单,并且总是得到相同的结果。

我们使用最新的MS jdbc驱动程序(mssql-jdbc-6.2.2.jre8.jar)连接到Azure,并选中“维护连接”。我们首先尝试使用内置的Microsoft SQL Server驱动程序进行连接,但仍然遇到此错误:

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

当我们在SSMS中运行查询时,我们不会看到此问题。

知道什么可能是错的吗?

答案

当存在客户端变量时,ColdFusion Server如何管理数据库连接?

使用ColdFusion Server 4.5.1 SP1及更高版本时,将客户端变量存储在数据库中时,只有在设置了变量时,代码才会连接到数据库。这可以防止不必要的数据库连接,例如,在您使用客户端管理但在特定请求中不存在客户端变量的情况下。

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

以上是关于ColdFusion未保持与Azure数据仓库的连接的主要内容,如果未能解决你的问题,请参考以下文章

Azure 文档 (SQL 数据仓库, Azure SQL 数据库文档)

ColdFusion .Net 集成错误:未安装 DotNetExtension

谷歌,***等未使用超时的保持活动http标头?

Azure SQL 数据库仓库Data Warehouse 2018 TechSummit 动手实验营

直接访问 application.cfc 会产生未捕获的 ColdFusion 错误

将一个项目同时提交到GitHub和Gitee(码云)上面(GitHub与Gitee保持同步)