我正在尝试通过 Databricks 笔记本删除 Azure SQL Server 数据库(SQL 版本 2019)中的表。
在我的笔记本中,我已通过 jdbc 建立了与 azure sql 服务器的连接。我有一个测试查询来确认连接。这工作得很好。
但是,我在 SQL 数据库上删除表的代码不会失败,但不会删除该表。该表仍然存在。
table_name = "dbo.json_staging"
spark.sql(f"DROP TABLE IF EXISTS {table_name}")
输出:Out[35]:DataFrame[]
最佳答案
我已尝试使用以下代码使用 Azure Databricks 从 Azure SQL 数据库中删除表。
我已经使用SCALA尝试过
%scala
import java.util.Properties
import java.sql.DriverManager
val jdbcUsername = "admin02"
val jdbcPassword = "Welcome@1"
val driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
val jdbcUrl = s"jdbc:sqlserver://sqlserveraug09.database.windows.net:1433;database=db002;user=admin02@sqlserveraug09;password=Welcome@1;encrypt=true;trustServerCertificate=false;hostNameInCertificate=*.database.windows.net;loginTimeout=30;"
val connectionProperties = new Properties()
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")
connectionProperties.setProperty("Driver", driverClass)
val connection = DriverManager.getConnection(jdbcUrl, jdbcUsername, jdbcPassword)
val stmt = connection.createStatement()
val sql = "DROP Table employee_new"
stmt.execute(sql)
connection.close()
输出:
我已删除名为employee_new的表
关于azure - 从 Databricks 笔记本中删除 Azure SQL 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76863686/