使用python连接到Sql数据库的Azure runbook

2024-05-29 02:46:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在创建一个azure runbook以连接到sql数据库以进行一些查询。在

我试图导入两个库中的一个:pymssql和pyodbc,但是运行runbook的机器没有这个库。在

你还有什么别的办法可以查询sql数据库,或者在那台机器上安装这两个库吗。在

非常感谢。在


Tags: 机器数据库sqlazurepyodbcrunbook办法pymssql
2条回答

有一个更简单的解决办法。Pip库已安装在azure python runbook中。你可以用这个来安装这些库。在

import pip
pip.main(['install', 'pymssql'])

对我来说很好。在

Do you have any other idea to make some queries to sql database , or install these two libraries on that machine.

作为解决方法,我们可以使用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 automation帐户中创建凭据,如下所示: enter image description here

以下是runbook结果:

enter image description here

有关的详细信息,请参阅此link。在

相关问题 更多 >

    热门问题