sql-server - 由于表名 "User"是保留名称,因此无法提取表数据

标签 sql-server azure pyspark databricks reserved

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

谢谢!

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: Incorrect syntax near the keyword 'User'.

最佳答案

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

关于sql-server - 由于表名 "User"是保留名称,因此无法提取表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69756764/

相关文章:

python - 无法在DataBricks中使用python成功分割JSON文件

apache-spark - 如何在 PySpark 的 Pandas 中使用 iloc 获得相同的结果?

json - Azure RM 模板。如何使用 VS 自动上传资源而不是从 GitHub 获取资源

linux - 如何添加第二个 RSA key 以从第二台远程计算机访问 Azure VM?

azure - 使用承载 token 和功能 key 执行 HTTP Post 到 Azure 功能的移动应用返回未经授权

sql-server - 在 SQL Server 上使用不同排序规则的两个数据库之间进行联接并收到错误

python - 使用 toPandas 时强制将 null 一致转换为 nan

sql - 通过选择查询在表中插入行

sql-server - 将数据库移至生产服务器需要什么版本的 SQL Server?

sql - 使用 SQLCMD.exe 实用程序在不同的凭据下运行 T-SQL 脚本