Как подключиться к базе данных в Microsoft SQL Server 2012 в Qt
Создана простейшая база данных в Microsoft SQL Server 2012. Надо было подключиться через Qt. Почему-то обычные приемы не работали. В статье показан тот код, который у меня заработал.
Сработал данный код. Подключаем вот это:
#include "QtSql/QSqlDatabase" #include "QDebug" #include "QSqlError"
А потом в том месте, где хотим подключить базу данных (например, в кнопке) пишем код:
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC3"); db.setDatabaseName("DRIVER=;SERVER=ENTER-HP;DATABASE=OOO_RKK;Trusted_Connection=yes;"); db.setUserName("sa"); db.setPassword("Password123"); if(!db.open()) qDebug()<"ERROR: "<QSqlError(db.lastError()).text(); ui->textEdit->insertPlainText(QSqlError(db.lastError()).text()); > else qDebug()<"Ok"; ui->textEdit->insertPlainText("Ok"); >
Разумеется, имя сервера, базы данных, пользователя и пароля у вас свои. Но в приведенном примере использованы стандартные имя пользователя и пароль, так что у вас подключится, если не меняли этого пользователя.
Создана простейшая база данных в Microsoft SQL Server 2012. Надо было подключиться через Qt. Почему-то обычные приемы не работали. В статье показан тот код, который у меня заработал.
Создана простейшая база данных в Microsoft SQL Server 2012. Надо было подключиться через Qt. Почему-то обычные приемы не работали. В статье показан тот код, который у меня заработал.
Harrix
- GitHub User
- TODO@mail.ru
Write an awesome description for your new site here. You can edit this line in _config.yml. It will appear in your document head meta (for Google search results) and in your feed.xml site description.
Подключение к SQL Server на C# для чайника
Visual Studio 2012 Ultimate поставил, вместе с ней поставился SQL Server 2012.
Итак. Задача: подключиться к SQL Server, создать новую локальную базу данных, выполнить скрипт создания базы из файла «database.sql» (создание таблиц, процедур и т. п.).
SqlConnection sqlConnection = new SqlConnection(); sqlConnection = new SqlConnection("Data Source=localhost; Integrated Security=SSPI; Initial Catalog=testdb;"); sqlConnection.Open(); MyClass.scriptExecute(sqlConnection, "database.sql"); sqlConnection.Close(); sqlConnection.Dispose();
Проблема: судя по всему, в строке подключения, а скорее всего — в имени сервера. Объясните на пальцах, пожалуйста, что там писать? В голове каша, не понимаю ни фига.
Перепробовал варианты названия сервера с MSDN и ConnectionString — все время какие-то ошибки. Варианты: localhost, (localhost), (local), localdb, (localdb), (localdb)\v.11, еще какие-то были, и уже совершенно запутался в них всех. Есть варианты подключения к Server Instance — это что еще за хрень? Тоже не пойму.
Как мне объяснили, логин-пароль указывать не надо при создании базы, кажется, используется аутенфикация Windows, но я опять же толком не понял о чем речь. Спасибо всем за помощь.
PDO_SQLSRV DSN
Определяет, берётся ли соединение из пула соединений (1 или true ) или нет (0 или false ).
Имя базы данных.
Определяет, будут ли шифроваться данные коммуникации с SQL Server (1 или true ) или не будут (0 или false ).
Определяет сервер и экземпляр зеркала базы данных (если включено и настроено) в случае недоступности первичного сервера.
Определяет время ожидания подключения (в секундах).
Отключает или явно включает поддержку функции Multiple Active Result Sets (MARS) — возвращение нескольких результирующих наборов.
Определяет, использовать для заключения в кавычки идентификаторов стандарт SQL-92 (1 или true ) или правила, задаваемые Transact-SQL (0 или false ).
Имя сервера базы данных.
Определяет путь до файла, используемого для данных трассировки.
Определяет, включена ли для создаваемого соединения функция трассировки ODBC (1 или true ) или отключена (0 или false ).
Определяет уровень изоляции транзакций. Допустимые значения данной опции — PDO::SQLSRV_TXN_READ_UNCOMMITTED, PDO::SQLSRV_TXN_READ_COMMITTED, PDO::SQLSRV_TXN_REPEATABLE_READ, PDO::SQLSRV_TXN_SNAPSHOT и PDO::SQLSRV_TXN_SERIALIZABLE.
Определяет, должен ли клиент принимать (1 или true ) или отклонять (0 or false ) самозаверенные (self-signed) сертификаты сервера.
Определяет имя компьютера для трассировки.
Примеры
Пример #1 Примеры PDO_SQLSRV DSN
Следующий пример показывает, как подключаться к определённой базе данных MS SQL Server:
$c = new PDO("sqlsrv:Server=localhost;Database=testdb", "UserName", "Password");
Следующий пример показывает, как подключаться к базе данных MS SQL Server по определённому порту:
$c = new PDO("sqlsrv:Server=localhost,1521;Database=testdb", "UserName", "Password");
Следующий пример показывает, как подключаться к базе данных SQL Azure с идентификатором сервера 12345abcde. Примечание: при соединении к SQL Azure с помощью PDO, имя пользователя будет равно UserName@12345abcde (UserName@ServerId).
$c = new PDO("sqlsrv:Server=12345abcde.database.windows.net;Database=testdb", "UserName@12345abcde", "Password");
Объединение нескольких баз MS Access в одну SQL базу
Для объединения нескольких баз MS Access в одну SQL базу:
-
Проверить номера рабочих мест в программе «ВЭД-Декларант» на всех компьютерах («Сервис — Основные настройки — Рабочее место — Настройка). Если они разные, то сразу переходить к пункту 3, если номера одинаковые, то см. пункт 2.
Например, у пользователей в настройках «Монитора ЭД» было:
База данных C:\ED_BASE\BASE\
Резервные копии базы данных C:\ED_BASE\BASE_BACKUP\
Корневой входящих сообщений C:\ED_BASE\INBOX\
Корневой резервных копий сообщений C:\ED_BASE\MAIL_BACKUP\
После объединения баз возможны проблемы с просмотром сообщений из журнала сообщений (по процедурам, открытым до объединения), при необходимости просматривать сообщения рекомендуется использовать «Подробный протокол».
Работа с базами MS SQL в программах ООО «СТМ»
- Объединение нескольких баз MS Access в одну
- Ошибка при соединении
- Запуск утилиты обновления БД из командной строки
- Ошибка при обновлении структуры БД MS SQL
- Переход с MS Acсess на MS SQL
