我尝试从DataGrip客户端连接到托管在Docker中的Firebird数据库,但出现以下错误:
警告:未指定连接字符集(属性lc_ctype、编码、charSet或localEncoding
[42000][335544851]动态SQL错误; SQL错误代码= -104;命令意外结束-行1,列8 [SQLState:42000,ISC错误代码:335544851]
我试着在文件编码中给予一个路径,但是我对Jaybird是如何工作的没有任何想法。
我需要做些什么?
我尝试从DataGrip客户端连接到托管在Docker中的Firebird数据库,但出现以下错误:
警告:未指定连接字符集(属性lc_ctype、编码、charSet或localEncoding
[42000][335544851]动态SQL错误; SQL错误代码= -104;命令意外结束-行1,列8 [SQLState:42000,ISC错误代码:335544851]
我试着在文件编码中给予一个路径,但是我对Jaybird是如何工作的没有任何想法。
我需要做些什么?
1条答案
按热度按时间tez616oj1#
问题由IntelliJ引起(DataGrip基于IntelliJ)在测试连接时执行“保持活动查询”,但Firebird驱动程序的默认配置没有保持活动查询。(虽然我还没有验证这一点,但错误中提到“column 8”的事实似乎暗示了这一点)。这会导致Firebird返回一个错误,因为Firebird需要一个from子句。
要解决此问题,请转到“数据源和驱动程序”屏幕的“驱动程序”选项卡,选择“Firebird”(在“基本支持”下),然后在选项选项卡上输入“保持活动查询”
select 1 from rdb$database
。顺便说一句,您可以通过在连接配置的“Advanced”选项卡上显式配置连接字符集(属性
charSet
)来消除有关连接字符集的警告。我向JetBrains报告了这一点:Configuration for Firebird misses default keep-alive query causing error on connection test