从流中读取Npgsql异常

本文关键字:Npgsql 异常 读取 | 更新日期: 2023-09-27 18:11:38

我使用Npgsql 3.1.7从昨天开始,当我通过Nuget更新到3.1.8,但我得到同样的异常。

我正在连接远程Windows服务器2012和Postgresql 9.5也尝试了Postgresql 9.4在Debian 8上的相同行为。

我要做的是通过COPY(select..)命令使用Npgsql BeginBinaryExport选择数据,但几秒钟后抛出异常。每次跑步都会发生这种情况。我尝试将Pooling=false,Keepalive=10, commandtimeout=0应用于连接字符串,但没有成功。

我:

读取流时出现异常传输连接:无法建立连接。错误的答案从被连接部分超时间隔后或丢失响应。

这最后一部分是意大利语,我试着翻译它,希望你能理解它。

这里是StackTrace:

抛出异常:'Npgsql. 'NpgsqlException'在Npgsql.dll中Npgsql.ReadBuffer。确保(Int32计数,布尔dontBreakOnTimeouts)在Npgsql.NpgsqlConnector.DoReadMessage (DataRowLoadingModedataRowLoadingMode, Boolean isPrependedMessage) inNpgsql.NpgsqlConnector.ReadMessageWithPrepended (DataRowLoadingModenpgsql . npgsqlconnector . readeexpectingt in . dataRowLoadingModeNpgsql.NpgsqlBinaryExporter . .NpgsqlConnector连接器,字符串copyToCommand)在Npgsql.NpgsqlConnection.BeginBinaryExport(字符串copyToCommand)

我试图将命令从COPY(select…)更改为使用NpgsqlCommand的简单选择,并且它有效,但如果我从连接字符串中删除Pooling=false,Keepalive=10, commandtimeout=0,则异常返回。

编辑:我使用的代码是:

using (var reader = connection.BeginBinaryExport("COPY (select * from '"DTC_Det'") TO STDOUT (FORMAT BINARY)")){ ... }

任何想法?

从流中读取Npgsql异常

string connectionString = Host=servername;Username=postgres;Password= Password;Database=postgres;port=1234;Timeout=50;