DataGrip连接BigQuery读取JSON字段报错,更新驱动仍未解决
解决DataGrip连接BigQuery读取JSON字段报错的方案
问题重现
能正常连接BigQuery并读取非JSON字段,但读取JSON字段时触发错误:
SQL Error [100064] [HY000]: [Simba]BigQueryJDBCDriver The specified column type is currently unsupported by the driver for column JSON.
使用环境:DataGrip社区版2022.3.3(Build #DB-223.8617.3,2023年1月10日构建)
可行解决步骤
1. 匹配兼容的驱动版本
DataGrip 2022.3.3对最新Simba驱动的适配存在滞后,不要盲目用最新版驱动,改用Simba BigQuery JDBC Driver 1.2.20.1049版本,该版本在对应DataGrip版本下对JSON字段的支持更稳定。
2. 手动配置驱动与JDBC参数
- 下载对应版本驱动后,在DataGrip中移除现有BigQuery驱动,添加本地下载的JAR包
- 进入连接配置的Advanced标签页,添加以下JDBC参数:
useLegacySql=falseenableJsonType=true
3. 用SQL函数转换读取(临时方案)
如果驱动替换后仍有问题,可在查询时显式将JSON字段转为字符串读取:
SELECT JSON_EXTRACT_STRING(json_column, '$') AS json_column_str FROM your_table_name
通过这种方式绕过驱动对JSON类型的直接解析,先以字符串形式获取内容。
4. 降级DataGrip版本(备选)
若上述方法均无效,可尝试降级到DataGrip 2022.2.x版本,该版本对BigQuery JSON字段的兼容性经过验证,能正常读取。
内容的提问来源于stack exchange,提问作者Hoopla
相关产品推荐
相关产品推荐

