我无法通过JDBC连接使用Kerberos访问SQL Server数据库。请注意,我正在运行带有Spark版本2.2.0的Linux。
我没有在spark_connect
中指定与kerberos票相关的任何内容,因为我听说rstudio server pro可能具有重叠功能,尽管我不确定它是否适用于此。
我的联系如下:
table <- sparklyr::spark_read_jdbc(
sc,
"AMI_DATA_STAG_RES",
options = c(list(
url = paste0("jdbc:sqlserver://", <MY SERVER>),
databaseName = "fun_db",
dbtable = "fun_tbl",
driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver",
integratedSecurity = "true",
authenticationScheme = "JavaKerberos"))
)
我得到的错误是:
Error: com.microsoft.sqlserver.jdbc.SQLServerException:
Kerberos Login failed: Integrated authentication failed.
ClientConnectionId:878fa848-91cb-4d78-bd48-6dad88b1e401
due to javax.security.auth.login.LoginException
(Cannot get any of properties: [user, USER] from con properties not available to garner authentication information from the user)
我已经在Internet上阅读了解决方案,但是我不确定什么适用于Windows,哪些可以在Redhat上使用我的Rstudio Server设置。
任何帮助表示赞赏。我对Kerberos的美好世界还很陌生。
编辑:我已经更新了我的拼写(谢谢!),并粘贴了新的错误。如果我将用户名和密码添加到连接字符串中,那么我认为它确实有效,但是我想避免不必粘贴密码。
仅添加我的用户名会产生错误:
Error: com.microsoft.sqlserver.jdbc.SQLServerException: Cannot login with Kerberos principal dzafar, check your credentials. Kerberos Login failed: Integrated authentication failed. ClientConnectionId:543c9b44-e1e0-4fe8-8510-235a21be2845 due to javax.security.auth.login.LoginException (Cannot get any of properties: [password, PASSWORD] from con properties not available to garner authentication information from the user)