基本上,我尝试使用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
有人能解释为什么会这样吗?如何修复此错误?
1条答案
按热度按时间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