Microsoft SQL Server, Qt, Базы данных

Подключение к базе данных MS SQL Server в Qt

В записи Подключение к базе данных в Qt на примере СУБД PostgreSQL я показала, как произвести подключение к базе данных. С MS SQL Server немного запутанней получается (не привыкать).

MS SQL Server может использовать 2 вида аутентификации: аутентификация windows и аутентификация  SQL Server. Ниже рассмотрим оба способа подключения.

Подключение к БД SQL Server

Для аутентификации Windows:

[pastacode lang=»cpp» manual=»QString%20host%20%3D%20%22localhost%22%3B%0AQString%20database%20%3D%20%22myDatabase%22%3B%0AQSqlDatabase%20db%20%3D%20QSqlDatabase%3A%3AaddDatabase(%22QODBC3%22)%3B%0Adb.setDatabaseName(QString(%22DRIVER%3D%7BSQL%20Server%7D%3B%22%0A%09%09%09%22SERVER%3D%251%3BDATABASE%3D%252%3BPersist%20Security%20Info%3Dtrue%3B%22)%0A%20%20%20%20%20%20%20%20%20%20.arg(host%2C%20database))%3B%0Aif%20(!db.open())%0A%20%20%20%20%20%20%20%20QMessageBox%3A%3Acritical(this%2C%20tr(%22%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%22)%2C%0A%09%09%09%09tr(%22%D0%9E%D1%88%D0%B8%D0%B1%D0%BA%D0%B0%20%D0%BF%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%BA%20%D0%B1%D0%B0%D0%B7%D0%B5%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%3A%20%252%22)%0A%20%20%20%20%20%20%20%20%20%09.arg(db.lastError().text()))%3B» message=»Аутентификация Windows» highlight=»» provider=»manual»/]

Для аутентификации Microsoft SQL Server:

[pastacode lang=»cpp» manual=»db.setDatabaseName(QString(%22DRIVER%3D%7BSQL%20Server%7D%3B%22%0A%09%09%09%22SERVER%3D%251%3BDATABASE%3D%252%3BPersist%20Security%20Info%3Dtrue%3B%22%0A%09%09%09%22uid%3D%253%3Bpwd%3D%254%22)%0A%20%20%20%20%20%20%20%20%20%20.arg(host%2C%20database%2C%20userName%2C%20password))%3B» message=»Аутентификация MS SQL Server» highlight=»» provider=»manual»/]

Еще чуть подробней о подключениях к базе данных можно почитать в документации.

Подключение к базе данных MS SQL Server в Qt: 1 комментарий

Оставьте своё мнение...

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.