通过jdbc连接将本地sqlserver数据库连接到databricks时出错

uxhixvfz  于 2021-05-29  发布在  Spark
关注(0)|答案(1)|浏览(525)

基本上,我尝试使用jdbc连接从databricks连接到本地机器上的sqlserver数据库。我正在遵循databricks网站上的文档中提到的过程。
我使用了网站上提到的以下代码:

jdbcHostname = "localhost"
jdbcDatabase = "TestDB"
jdbcPort = "3306"

jdbcUrl = "jdbc:mysql://{0}:{1}/{2}".format(jdbcHostname, jdbcPort, jdbcDatabase)
connectionProperties = {
    "jdbcUsername" : "user1",
    "jdbcPassword" : "pass1",
    "driver" : "com.microsoft.sqlserver.jdbc.SQLServerDriver"
     }

pushdown_query = "SELECT * FROM dbo.customer"
df = spark.read.jdbc(url=jdbcUrl, table=pushdown_query,properties=connectionProperties)
display(df)

但我有个错误
illegalargumentexception:要求失败:驱动程序无法打开jdbc连接。检查url:jdbc:mysql://localhost:3306/testdb
有人能解释为什么会这样吗?如何修复此错误?

llmtgqce

llmtgqce1#

通常 3306 用于mysql数据库的端口。
尝试 1433 的端口 Sql server databases .
在jdbc url中,使用sqlserver而不是mysql jdbcUrl = "jdbc:sqlserver://{0}:{1};databaseName={2}" Example Jdbc url: jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks

相关问题