Jdbc 始终从数据库访问加密数据
我在Azure SQL托管实例中有一个具有“始终加密”列的表。我将列和主密钥存储在Azure key Vault中Jdbc 始终从数据库访问加密数据,jdbc,azure-sql-database,databricks,azure-keyvault,always-encrypted,Jdbc,Azure Sql Database,Databricks,Azure Keyvault,Always Encrypted,我在Azure SQL托管实例中有一个具有“始终加密”列的表。我将列和主密钥存储在Azure key Vault中 我的第一个问题是-如何从DataRicks访问Azure SQL中解密的数据。为此,我通过jdbc连接到Azure SQL。对于用户名和密码,我将手动传递凭据 当我这样做时,我能够显示数据,但它是加密数据。如何查看解密的数据 我是Azure和Databricks组合的新手,所以仍在学习Azure/Microsoft堆栈。是否有其他形式的jdbc连接语法允许您解密 我的钥匙在Azur
请参阅这是否可行?结果如何?
val jdbcHostname = "XXXXXXXXXXX.database.windows.net"
val jdbcPort = 1433
val jdbcDatabase = "ABCD"
val jdbcUrl = s"jdbc:sqlserver://${jdbcHostname}:${jdbcPort};database=${jdbcDatabase}"
// Create a Properties() object to hold the parameters.
import java.util.Properties
val connectionProperties = new Properties()
connectionProperties.put("user", s"${jdbcUsername}")
connectionProperties.put("password", s"${jdbcPassword}")
val driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver"
connectionProperties.setProperty("Driver", driverClass)
import java.sql.DriverManager
val connection = DriverManager.getConnection(jdbcUrl, jdbcUsername, jdbcPassword)
connection.isClosed()
val user = spark.read.jdbc(jdbcUrl, "dbo.bp_mp_user_test", connectionProperties)
display(user)