0

所以我的问题是,我试图将一个表提取到这个数据框中,但我不能,因为名为“用户”的表是一个保留字......我怎么能解决这个问题来解决这个问题?

谢谢!

attachmentDf = (spark.read 
         .format("com.microsoft.sqlserver.jdbc.spark") 
         .option("url", azure_sql_url) 
         .option("databaseName", database_name) 
         .option("user", sql_user_name)
         .option("password", sql_password)
         .option("encrypt", "true") 
         .option("hostNameInCertificate", "*.database.windows.net")
         .option("dbtable", "dbo."+"User").load()
           )

错误信息:

com.microsoft.sqlserver.jdbc.SQLServerException:关键字“用户”附近的语法不正确。

4

2 回答 2

0

由于您将关键字用作表格,因此必须将“用户”括在括号中。

前任。dbo.[user]

于 2021-10-28T15:22:25.197 回答
0

尝试在表名周围加上方括号(例如[dbo].[user])。这告诉 MS SQL 使用字符串作为字段或表名。

于 2021-10-28T15:22:46.820 回答