我正在使用DBeaver连接到本地托管的MS SQL数据库。我尝试将表导出为CSV文件。在查询相当大(40k行,需要几分钟(的情况下,导出将停止,并显示消息
"SQL错误:连接已关闭"。
我保留了dbeaver数据库连接的默认参数,我的SQL服务器超时是默认的(10分钟,比触发错误所需的时间多(
知道它可能来自哪里吗?
您知道,binary
的值非常大且非常重。因此,通过网络传输需要花费大量时间。这就是你出错的原因。在我看来,
-
您应该将查询拆分为多个时间来获取数据(每次大约有1k条记录(。
-
只需获得您需要的确切项目(您需要的条件或列,而不是全部(
每个数据库驱动程序都允许配置connectTimeout
,这是一个参数,用于声明客户端(dbeaver(在判断出问题之前要等待多长时间。
您可以右键单击服务器名称,选择Edit Connection
,然后单击Driver properties
选项卡并搜索connectTimeout
参数(或等效参数(来更改此参数。增加你在那里找到的价值。
我在PostgreSQL 13中遇到了这个问题,发现connectTimeout=20ms,并将其增加到200ms以克服这个问题。
一个旧的MySQL驱动程序显示了一个connectTimeout = 20000
,很可能在纳秒内。