繁体   English   中英

通过 JDBC 连接将本地 SQL 服务器数据库连接到数据块时出错

[英]Getting error on connecting to a local SQL Server database to databricks via JDBC connection

基本上,我正在尝试使用 JDBC 连接从数据块连接到本地计算机上的 SQL 服务器数据库。 我正在按照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

谁能解释为什么会这样? 我该如何解决这个错误?

通常3306端口用于 mysql 数据库。

尝试为Sql server databases使用1433端口。

在 jdbc url 中使用 sqlserver 而不是 mysql jdbcUrl = "jdbc:sqlserver://{0}:{1};databaseName={2}"


Example Jdbc url:

jdbc:sqlserver://localhost:1433;databaseName=AdventureWorks

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM