Это мой первый вопрос о StackOverflow, поэтому, пожалуйста, извините меня за невиновность!
Вот проблема: я пытаюсь подключиться через ODB C на Windows в C ++ к Azure SQL, но безуспешно, так как я получаю следующее сообщение:
[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0)
Я извлек строку подключения из Azure и убедился, что мой IP-адрес зарегистрирован в настройках брандмауэра.
В соответствии с примером, предоставленным Microsoft, я подключаюсь через:
_retcode = SQLDriverConnect(
_hDbc,
NULL,
( SQLCHAR * ) connectionString,
SQL_NTS,
NULL,
0,
NULL,
SQL_DRIVER_NOPROMPT );
, где connectionString определяется как:
const char * connectionString = "Driver = { ODBC Driver 13 for SQL Server };"
"Server = tcp:<datasource>.database.windows.net, 1433;"
"Database = <database>;"
"Uid = <account>; Pwd = <password>;"
"Encrypt = yes; TrustServerCertificate = no; Connection Timeout = 30;";
Кроме того, я попытался подключиться через. NET в C# и работает со следующей сборкой строки подключения:
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = "<datasource>.database.windows.net";
builder.UserID = "<account>";
builder.Password = "<password>";
builder.InitialCatalog = "<datavase>";
Мне удалось выполнить инструкцию «SELECT @@ VERSION» со следующим результатом:
Microsoft SQL Azure (RTM) - 12.0.2000.8
Feb 26 2020 10:26:43
Copyright (C) 2019 Microsoft Corporation
Так что я делаю не так ???
Заранее благодарю за помощь!