【问题标题】:Error in connecting with pyspark to SQL Server将 pyspark 连接到 SQL Server 时出错
【发布时间】:2021-06-02 10:08:58
【问题描述】:

我正在尝试使用 pyspark 从本地连接到 SQL Server。我已经下载了最后一个driver version,但是运行下面的代码时会出现这个错误:

错误:“客户端首选项 [TLS12] 不接受服务器选择的协议版本 TLS10”

代码如下(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 Server 更改一些配置,但这对我来说是不可能的。有什么方法可以在不更改 SQL Server 中的任何内容的情况下修复它?

【问题讨论】:

  • 你为什么使用 TLS1.0?
  • 我猜我是默认用的,能改吗?
  • 运行 SQL Server 的 Windows 版本是什么?
  • 我认为Windows版本是Windows 8.1。

标签: python sql-server jdbc pyspark


【解决方案1】:

我认为你的问题类似于this one

从上面的链接:

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

这在我的情况下有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多