Databricks无法连接到Azure Synapse Analytics:返回了意外版本:Microsoft SQL AzureRTM-12.0.2000.8

问题描述

我正在尝试使用以下代码从Databricks笔记本中向Azure Synapse Analytics写入一些数据:

write_to_synapse = (
  spark.readStream.format('delta').option('ignoreChanges',True).table('turbine_agg') # Read in Gold turbine readings from Delta as a stream
    .writeStream.format("com.databricks.spark.sqldw")                                     # Write to Synapse (sql DW connector)
    .option("url",dbutils.secrets.get(<scope>,<secret>))                                # sql Pool JDBC connection (with sql Auth) string 
    .option("tempDir",SYNAPSE_PATH)                                                      # Temporary ADLS path to stage the data (with forwarded permissions)
    .option("forwardSparkAzureStorageCredentials","true")
    .option("dbTable","turbine_agg")                                                # Table in Synapse to write to
    .option("checkpointLocation",CHECKPOINT_PATH+"synapse")                              # Checkpoint for resilient streaming
    .start()
)

其中秘密是JDBC连接字符串格式的

jdbc:sqlserver://<on-demand-sql-pool>.sql.azuresynapse.net:1433;database=master;user=<user>;password=<password>;encrypt=true;trustServerCertificate=true;hostNameInCertificate=*.sql.azuresynapse.net;loginTimeout=30;

我遇到以下错误

IllegalArgumentException: Unexpected version returned: Microsoft sql Azure (RTM) - 12.0.2000.8 
    Aug 17 2020 07:52:53 
    copyright (C) 2019 Microsoft Corporation

Make sure your JDBC url includes a "database=<DataWareHouseName>" option and that
it points to a valid Azure Synapse sql Analytics (Azure sql Data Warehouse) name.
This connector cannot be used for interacting with any other systems (e.g. Azure
sql Databases).

包括一个数据库选项,并且数据库数据库存在。

出什么问题了,我该如何解决

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)