原因:com.microsoft.sqlserver.jdbc.SQLServerException:Azure Active Directory仅在Windows操作系统上受支持

时间:2017-07-04 18:07:28

标签: azure-sql-database liquibase

我们正在尝试使用Liquibase从Jenkins Linux机器运行sql文件到Microsoft SQL服务器数据库并获取错误:

  

错误:构建步骤失败,异常为java.lang.RuntimeException:   使用驱动程序获取数据库时出错   com.microsoft.sqlserver.jdbc.SQLServerDriver使用url   JDBC:SQLSERVER://*********.database.windows.net:***;数据库= *********;加密= TRUE; trustServerCertificate = FALSE; hostNameInCertificate = *。 database.windows.net; loginTimeout = 30;验证= ActiveDirectoryIntegrated”   在org.jenkinsci.plugins.liquibase.evaluator.AbstractLiquibaseBuilder.createJdbcConnection(AbstractLiquibaseBuilder.java:236)   在org.jenkinsci.plugins.liquibase.evaluator.AbstractLiquibaseBuilder.createLiquibase(AbstractLiquibaseBuilder.java:164)   在org.jenkinsci.plugins.liquibase.evaluator.AbstractLiquibaseBuilder.perform(AbstractLiquibaseBuilder.java:129)在hudson.tasks.BuildStepCompatibilityLayer.perform(BuildStepCompatibilityLayer.java:78)在hudson.tasks.BuildStepMonitor $ 1.perform(BuildStepMonitor.java: 20)在hudson.model.AbstractBuild $ AbstractBuildExecution.perform(AbstractBuild.java:779)在hudson.model.Build $ BuildExecution.build(Build.java:205)在hudson.model.Build $ BuildExecution.doRun(Build.java :162)   在hudson.model.AbstractBuild $ AbstractBuildExecution.run(AbstractBuild.java:534)   在hudson.model.Run.execute(Run.java:1720)在hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)在hudson.model.ResourceController.execute(ResourceController.java:98)在hudson.model。 Executor.run(Executor.java:404)   引起:com.microsoft.sqlserver.jdbc.SQLServerException:** Azure   仅在Windows操作系统上支持Active Directory   系统。**在com.microsoft.sqlserver.jdbc.SQLServerConnection.connectInternal(SQLServerConnection.java:1289)在com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:773)

我们尝试直接连接SQL服务器身份验证,但它很成功,但在使用Azure服务主体凭据时,我们收到此错误。我们如何使用Azure SPN与Liquibase一起使用?

1 个答案:

答案 0 :(得分:1)

您确定要使用集成到SQL Azure的Active Directory进行连接吗?您应该尝试使用SQL Azure的管理服务器登录或使用在SQL Azure上创建的登录进行连接。如果是这种情况,请查看如何在下面文章中包含的样本上创建连接字符串。

https://docs.microsoft.com/en-us/azure/sql-database/sql-database-connect-query-java

希望这有帮助。

此致

Alberto Morillo