jdbc.SQLServerException: вариантный тип данных не поддерживается

Я использую pyspark 2.4.4, когда я получаю данные с SQL Server, я получаю com.microsoft.sqlserver.jdbc.SQLServerException: The "variant" data type is not supported.

Что нужно сделать? чтобы решить эту проблему. Я прочитал это. Но я не понимаю.

РЕДАКТИРОВАТЬ: Ниже приведен код, который я использую для создания сообщения об ошибке:

for i in df['name']: mssql_df = spark.read.format("jdbc") \ 
.option("url", "jdbc:sqlserver://SERVERNAME:1433;databaseName=DB;integratedSecurity=true") \ 
.option("dbtable", "[" + i + "]") \ 
.option("driver", 'com.microsoft.sqlserver.jdbc.SQLServerDriver').load()

person Renos Bardhis    schedule 12.09.2019    source источник
comment
Какой код вы запускаете для получения данных с SQL Server?   -  person Hoog    schedule 12.09.2019
comment
Некоторые исследования показывают, что драйвер JDBC не работает с типом данных sql_variant. Я не знаю, как это исправить, кроме как найти замену JDBC на вашей стороне или замену sql_variant на стороне сервера. Я проголосовал за видимость, надеюсь, кто-то сможет вам помочь в ближайшее время.   -  person Hoog    schedule 13.09.2019
comment
@Hoog re: драйвер JDBC не работает с типом данных sql_variant - неверно. Этот тестовый код работает отлично.   -  person Gord Thompson    schedule 14.09.2019


Ответы (2)


Этот ответ приходит немного позже, но может помочь в будущих поисках решения этой ошибки. Я просто обновил свой соединитель с версии 6.1.0.jre8 до 8.1.0.jre8-preview, и ошибка была устранена.

Вы можете проверить наличие последней версии в репозитории Maven.

person Derek Mwachinga    schedule 12.12.2019

https://mvnrepository.com/artifact/com.microsoft.sqlserver/mssql-jdbc mssql-jdbc, начиная с версии 6.3.x и заканчивая текущим типом данных всех поддерживаемых вариантов. Вы просто обновляете зависимость, чтобы решить свою проблему.

person Nghiem Xuan Hieu    schedule 06.07.2020