Можем ли мы подключить Microsoft Azure Bot к базе данных SQL Azure и прочитать данные из БД и использовать их в качестве ответа для бота? - PullRequest
0 голосов
/ 22 февраля 2019

Я работаю над проектом ChatBot, для которого требуется запросить таблицу из базы данных SQL, размещенной в Azure, и использовать результат в качестве ответа для бота.

Я использую базовый шаблон бота из AzureWeb App Bot.Самостоятельно без подключения к базе, бот работает нормально.И нет проблем с базой данных, я смог запросить из той же БД, используя первый подход EF DB в веб-приложении MVC.

Но в проекте, если я использую тот же подход, я получаюошибка: connect ECONNREFUSED

И бот не может работать или подключиться в таком случае.Может ли кто-нибудь помочь мне решить эту проблему, или если я смогу получить подробный документ для разработки бота, который может запрашивать и взаимодействовать с базой данных SQL Azure, также должен работать.

Заранее спасибо:)

1 Ответ

0 голосов
/ 22 февраля 2019

Здесь вы найдете простой пример того, как подключиться к базе данных SQL Azure из бота и вставить данные.

Чтобы использовать Azure SQL, настройте инъекцию зависимостей Autofac в Global.asax.Ниже приведен фрагмент кода, который настраивает внедрение хранилища Azure Sql:

var store = new SqlBotDataStore(ConfigurationManager.ConnectionStrings["BotDataContextConnectionString"].ConnectionString);
builder.Register(c => store)
    .Keyed<IBotDataStore<BotData>>(AzureModule.Key_DataStore)
    .AsSelf()
    .SingleInstance();

Строка подключения к базе данных SQL Azure должна находиться в файле web.config:

  <connectionStrings>
    <add name="BotDataContextConnectionString" 
        providerName="System.Data.SqlClient" 
        connectionString="Server=tcp:[YourDatabaseServerName].database.windows.net,1433;Initial Catalog=[YourDatabaseName];Persist Security Info=False;User ID=[YourDatabaseUserId];Password=[YourDatabaseUserPassword];MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" />
  </connectionStrings>

Пожалуйста,Обязательно настройте Брандмауэр базы данных SQL Azure .

enter image description here

...