I have setup Managed Identity on my App Service and given the database access. I have a console app and used Microsoft.Data.SqlClient 3.0.1 as a nuget package that I test the connection as follows:
string ConnectionString1 = @"Server=demo-server.database.windows.net;
Authentication=Active Directory Managed Identity; Encrypt=True; Database=DEMO";
using (SqlConnection conn = new SqlConnection(ConnectionString1))
{
conn.Open();
}
But get the error ‘Invalid value for key authentication’ Can anyone help with this ?
Updated code:
static void Main()
{
string str = @"Server=demo-server.database.windows.net;
Authentication=Active Directory Default; Database=DEMO";
string qs = "SELECT OrderID, CustomerID FROM dbo.Orders;";
CreateCommand(qs, str);
}
private static void CreateCommand(string queryString,
string connectionString)
{
using (SqlConnection connection = new SqlConnection(
connectionString))
{
SqlCommand command = new SqlCommand(queryString, connection);
command.Connection.Open();
command.ExecuteNonQuery();
}
}
}
UPDATE 2: Working code
string ConnectionString = @"Server=demo-server.database.windows.net,1433;Authentication=Active Directory Default; Encrypt=True;Database=DEMO";
using (Microsoft.Data.SqlClient.SqlConnection conn = new Microsoft.Data.SqlClient.SqlConnection(ConnectionString))
//conn.Open();
using (Microsoft.Data.SqlClient.SqlCommand command = new Microsoft.Data.SqlClient.SqlCommand("SELECT OrderID FROM dbo.Orders;", conn))
{
command.Connection.Open();
using (Microsoft.Data.SqlClient.SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
Console.WriteLine("\t{0}", reader.GetString(0));
}
}
}
It seems its how i was calling the using clause