使用 pyspark 连接到 SQL 服务器时出错

Error in connecting with pyspark to SQL Server

我正在尝试使用 pyspark 从本地连接到 SQL 服务器。我已经下载了最后一个 driver version,但是当 运行 下面的代码显示此错误:

Error: "The server selected protocol version TLS10 is not accepted by client preferences [TLS12]"

代码如下(之前启动过Spark会话,驱动位于支持的路径):

jdbcDF = spark.read \
   .format("jdbc") \
   .option("url","jdbc:sqlserver://<host>\<port>;database=<database>;") \
   .option("dbtable", <table>) \
   .option("user", <username>) \
   .option("password", <password>) \
   .option("driver", "com.microsoft.sqlserver.jdbc.SQLServerDriver") \
   .load()

我了解到一种可能的解决方案是更改 SQL 服务器的某些配置,但这对我来说是不可能的。有什么方法可以在不更改 SQL 服务器中的任何内容的情况下修复它吗?

我认为您的问题与 this one

类似

从上面link:

TLS10 在 Java 1.8 及更高版本中被禁用。您可以通过从 java.security 文件中的 jdk.tls.disabledAlgorithms 中删除 TLSv1 来启用它(此编辑是在您的客户端机器上完成的,而不是 SQL 服务器)。

这对我有效。