Hello Brian D H ZHANG
Try following approach:
$conn.AccessToken = $(az account get-access-token --resource=https://database.windows.net/ --query accessToken)
This returns an Access Token wrapped in Double Quotes
$conn.AccessToken = $(az account get-access-token --subscription $subscription --resource https://database.windows.net --query accessToken -o tsv)
So the steps you need to do to use the Azure CLI token with SQL Server are the following:
- Configure an Active Directory Admin on Azure SQL
- Execute something like the following to add your user
CREATE
- Confirm you can connect with Azure AD with SSMS or Azure Data Studio
- Use the following code:
$conn = New-Object System.Data.SqlClient.SQLConnection
$conn.ConnectionString = "Server=yourserver.database.windows.net;Initial Catalog=Subledger;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30"
$conn.AccessToken = $(az account get-access-token --subscription YOUR-SUBSCRIPTION --resource https://database.windows.net --query accessToken -o tsv)
$conn.Open()