Azure devops Azure DevOps连接到Azure SQL连接字符串错误
我正在尝试使用Azure DevOps创建一个解决方案。我需要在发布/管道中使用Azure Powershell任务创建到Azure SQL数据库的连接。 在我的机器上,我能够通过以下方法实现这一点Azure devops Azure DevOps连接到Azure SQL连接字符串错误,azure-devops,azure-sql-database,azure-powershell,Azure Devops,Azure Sql Database,Azure Powershell,我正在尝试使用Azure DevOps创建一个解决方案。我需要在发布/管道中使用Azure Powershell任务创建到Azure SQL数据库的连接。 在我的机器上,我能够通过以下方法实现这一点 function new-connection($ServerIsntance, $DatabaseName) { $obj = New-Object System.Data.SQLClient.SQLCommand $obj.Connection = New-Object Syst
function new-connection($ServerIsntance, $DatabaseName)
{
$obj = New-Object System.Data.SQLClient.SQLCommand
$obj.Connection = New-Object System.Data.SQLClient.SQLConnection
$obj.Connection.ConnectionString = "Server=tcp:$($ServerInstance),1433;Initial Catalog=$($DatabaseName);Persist Security Info=False;User Id=<username>;Password=<password>;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Authentication=Active Directory Password"
$obj.Connection.Open()
.....
}
function新连接($ServerIsntance,$DatabaseName)
{
$obj=新对象System.Data.SQLClient.SQLCommand
$obj.Connection=新对象System.Data.SQLClient.SQLConnection
$obj.Connection.ConnectionString=“Server=tcp:$($ServerInstance),1433;初始目录=$($DatabaseName);持久安全信息=False;用户Id=;密码=;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;身份验证=Active Directory密码”
$obj.Connection.Open()
.....
}
但是,当我在Azure DevOps中使用此代码时,会出现以下异常:##[error]异常设置“ConnectionString”:“关键字不受支持:'身份验证”。
我尝试使用的数据库是AzureSQL数据库,因此我无法使用integratedsecurity=true
,因为它不受支持。你知道我该如何面对这个问题吗?
您的代码是否包含
Active Directory密码
之间的空格?如果是这样,请尝试删除它们,因为文档中没有任何空格。使用相同的脚本进行测试,似乎此问题的原因是代理类型
当我使用Windows代理时(例如vs2017-win2016),脚本可以按预期工作
但是当我使用Linux代理测试时(例如ubuntu 16.04),我可能会遇到同样的问题
因此,您可以检查代理类型(windows或linux)
您可以尝试使用Windows Microsoft hosted agent(例如vs2017-win2016、Windows-2019)。同样的例外情况##[错误]异常设置“ConnectionString”:“关键字不受支持:身份验证”。“Azure DevOps中的Azure PowerShell似乎不支持连接字符串中的身份验证。@delucaezequiel我以前没有尝试过您尝试执行的操作,但我只是在谷歌上搜索,看看是否可以进一步提供帮助。您是否可以尝试添加类似于此模板的UID和PWD,并查看是否可以连接?