我正在创建一个azure Runbook来连接到sql数据库以进行一些查询。
我试图导入两个库中的一个:pymssql,pyodbc但是机器运行的Runbook没有那个库。
您是否有任何其他想法对sql数据库进行一些查询,或者在该计算机上安装这两个库。
非常感谢。
答案 0 :(得分:2)
你有任何其他想法对sql数据库进行一些查询,或者 在这台机器上安装这两个库。
作为一种解决方法,我们可以使用PowerShell运行sql查询,这里是示例:
$SqlServer = "jasontest321.database.windows.net"
$SqlServerPort = "1433"
$Database = "jasonsqltest"
$Table = "dbc"
$SqlCredentialAsset = "sql"
$SqlCredential = Get-AutomationPSCredential -Name $SqlCredentialAsset
if ($SqlCredential -eq $null)
{
throw "Could not retrieve '$SqlCredentialAsset' credential asset. Check that you created this first in the Automation service."
}
$SqlUsername = $SqlCredential.UserName
$SqlPass = $SqlCredential.GetNetworkCredential().Password
$Conn = New-Object System.Data.SqlClient.SqlConnection("Server=tcp:$SqlServer,$SqlServerPort;Database=$Database;User ID=$SqlUsername;Password=$SqlPass;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;")
$Conn.Open()
$Cmd=new-object system.Data.SqlClient.SqlCommand("insert into dbc(name,age)values('jason2','ba')", $Conn)
$Cmd.CommandTimeout=120
$Ds=New-Object system.Data.DataSet
$Da=New-Object system.Data.SqlClient.SqlDataAdapter($Cmd)
[void]$Da.fill($Ds)
$Ds.Tables.Column1
$Conn.Close()
关于$SqlCredentialAsset = "sql"
,我们应该在Azure自动化帐户中创建凭据,如下所示:
以下是Runbook结果:
有关详情,请参阅此link。
答案 1 :(得分:0)
有一个更简单的解决方案。 Pip库已经安装在azure python Runbook中。您可以使用它来安装这些库。
import pip
pip.main(['install', 'pymssql'])
对我来说很好。