查询 SQL SERVER 中某张表的表结构,sql 语句如下:
1 | SELECT |
该 sql 可以正常执行,但是当把 sql 放到 jdbcTemplate 中执行时报一下错误:
1 | Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The "variant" data type is not supported. |
原因是 sql 语句 select 后面有 sql_variant 类型的属性,在 JDBC 中不支持它。使用 sp_columns 命令最终查出 sys.extended_properties 表的 value 属性的 TYPE_NAME 是 sql_variant 类型的,sql 如下:
1 | sp_columns extended_properties |
解决方法是使用 CONVERT 函数将该属性转成 varchar 类型。
CONVERT 函数的用法参考:SQL Server 中 CONVERT() 函数的使用。
修改后的 sql 语句为:
1 | SELECT |
参考:
com.microsoft.sqlserver.jdbc.SQLServerException: The “variant” data type is not supported.
如果长时间无法加载,请针对 disq.us | disquscdn.com | disqus.com 启用代理