如何设置Npgsql的超时值?

D T*_*D T 5 vb.net postgresql npgsql

我习惯CommandTimeout=5设置超时,但不行。

这是我的代码:

Dim con As New NpgsqlConnection
        Dim cmd As New NpgsqlCommand
        Dim conStr As String
        Try
            Dim sql = "Select * from dat_extract_text a join dat_replace_text b on a.tm_id=b.tm_id 
join dat_base_text_dt c on c.tm_id=a.tm_id
join dat_base_text_dt_font d on d.tm_id=c.tm_id
limit 250000"
            conStr = "Server=192.168.1.10;Port=5434;UserId=testuser;Password=1234;Database=testdb;CommandTimeout=5;"
            con.ConnectionString = conStr
            con.Open()

            cmd.Connection = con
            cmd.CommandText = sql

            Dim st = DateTime.Now
            Dim rs = cmd.ExecuteNonQuery
            Dim et = DateTime.Now
            Dim t = (et - st).TotalSeconds           
        Catch ex As Exception
        End Try
Run Code Online (Sandbox Code Playgroud)

我的查询时间约为40s,但没有发生超时。

如何设置Npgsql的超时值?

jmc*_*ney 0

我从未使用过该特定提供程序,但与其他 ADO.NET 提供程序一样,命令对象(即实例NpgsqlCommand)具有一个CommandTimeout属性。您大概应该进行设置。