我正在嘗試使用 spark sql 通過 JDBC 連接我在 databricks 筆記本中的 SQL 服務器。
val jdbcHostname = "database.windows.net"
val jdbcPort = 1433
val jdbcDatabase = "Database1"
// Create the JDBC URL without passing in the user and password parameters.
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"${User1}");
connectionProperties.put("password", s"${abc$@123}");
但是屬性中出現錯誤,
error: ';' expected but '@' found. connectionProperties.put("password", s"${dcu$@123}");
我無法找到問題所在,如果您知道,有人可以幫忙。
uj5u.com熱心網友回復:
該s"${xxx}"語法用于參考變數或運算式中的值,但在您的情況下,它看起來像一個原始密碼,并且在 Scala 中變數名稱可能不包含特殊字符,例如您的運算式:abc$@123。解決方案是s從字串的開頭洗掉...
PS 更好和更安全的解決方案是將密碼放入Databricks 秘密范圍并使用dbutils.secrets.get.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/477947.html
標籤:斯卡拉 数据库 apache-spark-sql 数据块
