Не удается правильно настроить соединение с SQL Server в mORMot

Я пытаюсь настроить соединение с SQL Server и ловить ошибку

var
  GFireDACConnProp : TSQLDBFireDACConnectionProperties;
  GFFireDACConn: TSQLDBFireDACConnection;
begin
  try
    GFireDACConnProp := TSQLDBFireDACConnectionProperties.Create('MSSQL?Server=server','dbname','user','pass');
    GFFireDACConn := TSQLDBFireDACConnection.Create(GFireDACConnProp);
    // OR  I := GFireDACConnProp.Execute('Select * from Station', []);
    GFFireDACConn.Connect;
....

Сообщение об ошибке:

Project app_.exe поднял класс исключения. Исключение с сообщением "Фабрика объектов для класса {3E9B315B-F456-4175-A864-B2573C4A2101} отсутствует. Чтобы зарегистрировать его, вы можете добавить компонент [TFDPhysXXXDriverLink] в ваш проект ".

Как правильно подключиться к SQL Server и предоставить сервис REST?

2 ответа

Решение

FireDAC более полезен, чем некоторые другие фреймворки, потому что, когда что-то идет не так, сообщения об исключениях часто говорят о том, как решить проблему.

Итак, в вашем случае, учитывая, что в сообщении говорится, что "вы можете добавить компонент [TFDPhysXXXDriverLink] в ваш проект", первым делом стоит добавить соответствующий компонент DriverLink в ваш модуль формы / данных. Так как вы используете Sql Server, в качестве ссылки на драйвер выберите TFDPhysMSSqlDriverLink, который находится на вкладке FireDAC Links палитры компонентов.

Если вы создаете консольное приложение, очевидно, что нет формы или модуля данных, на которые можно было бы сбросить ссылку. В этом случае создайте его в коде:

FDPhysMSSQLDriverLink := TFDPhysMSSQLDriverLink.Create(Nil);

Я знаю, что это старый поток, но если появится другой, его можно исправить, просто добавив единицы FireDAC в пункт вашего использования, например

использует FireDAC.Phys.MSSQL, FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.DApt, FireDAC.Stan.Async; // Не уверен, нужны ли они вам все, FireDAC запросит их

Другие вопросы по тегам