尽管连接字符串,Postgres超时20-30秒?

AMM*_*AMM 1 postgresql connection-string timeout postgresql-9.3

我正在尝试使用名为AutoTag的产品进行一些非常基本的查询.

我的PostgreSQL是本地安装的(非常强劲的机器,SSD,16GB RAM,等等).

其中一个表有4000多万条记录(并且将会增长).我正在尝试做一个简单的查询,当从Postgres管理工具完成时,需要4-5分钟才能运行.

我的连接字符串尝试的变化是:

PORT = 5432; CommandTimeout = 5000 ; TIMEOUT = 1024; POOLING = True; MINPOOLSIZE = 1; MAXPOOLSIZE = 20; COMMANDTIMEOUT = 20 ; COMPATIBLE = 2.2.0.0; HOST = localhost; DATABASE = HistoricalData; USER ID = postgres; PASSWORD = passwordhere

连接器(Windows环境)是:NpgsqlDdexProvider-2.2.0-VS2013 ...位于:https: //github.com/npgsql/Npgsql/releases (使用由同一站点提供的"可安装"版本) AutoTag制造商WIndward无法解决的"大会"烦恼)

每次尝试使用AutoTag在Excel中进行查询都会导致 appx 20-30秒出现明显的超时,我会在下面粘贴,尽管上面有我的连接字符串(尝试TIMEOUT = 0,不会连接..尝试没有TIMEOUT,不没问题.

救命?!我显然对连接性有限 - 我必须使用64位Excel和64位版本的AutoTag,而另一个我可以使用FINE和Crystal Reports的连接器将无法工作(文件名psqlodbc_08_04_0200).


异常堆栈:
错误:57014:由于语句超时而取消语句(DataSourceException)
错误:57014:由于语句超时而取消语句(NpgsqlException)

AutoTag版本:13.1.12.0
Office:15(64位),EXCEL
Windows:Microsoft Windows NT 6.1.7601 Service Pack 1(64位),GC内存:53,792,440

堆栈跟踪:

例外:net.windward.env.DataSourceException

消息:错误:57014:由于语句超时而取消语句

Stack:  at net.windward.xmlreport.a.a(ArrayList A_0, e A_1, ArrayList A_2, ProcessReportAPI A_3)        

        at net.windward.xmlreport.ProcessReport.processData(Map dataProviders)

        at net.windward.xmlreport.ProcessReport.processData(DataSourceProvider datasourceProvider, String datasourceName)

        at WindwardArrow.net.windward.arrow.tools.d.a(b A_0, a A_1, a A_2, DrillDownInfo A_3, String A_4, Stream A_5, Stream A_6)

        at AutoTagCore.net.windward.autotag.controls.reports.c.a()
Run Code Online (Sandbox Code Playgroud)

例外:Npgsql.NpgsqlException

消息:错误:57014:由于语句超时而取消语句

Stack:  at Npgsql.NpgsqlState.<ProcessBackendResponses>d__0.MoveNext()      

        at Npgsql.ForwardsOnlyDataReader.GetNextResponseObject(Boolean cleanup)

        at Npgsql.ForwardsOnlyDataReader.GetNextRow(Boolean clearPending)

        at Npgsql.ForwardsOnlyDataReader.Read()

        at System.Data.Common.DbEnumerator.MoveNext()

        at WindwardReportsDrivers.net.windward.datasource.ado.AdoDataSource.AdoNode.AdoIterator.next()
Run Code Online (Sandbox Code Playgroud)

最终更新:根据提供的解决方案突出显示上面的连接字符串中的问题.

Jak*_*nia 9

我说COMMANDTIMEOUT你的连接字符串中有两次,而第二个设置为20秒,正好是20秒.