Russian Qt Forum

Qt => Базы данных => Тема начата: Danila_Bagrofff от Июнь 28, 2011, 16:01



Название: Соединение с MSSQL без ODBC?
Отправлено: Danila_Bagrofff от Июнь 28, 2011, 16:01
Возможно ли подлючиться программно к БД MSSQL без создания подключения в источниках ODBC?
И какая для этого должна быть строка подключения?

Для соединения через ODBC строка и собственно все манипуляции были такие:
Код:
QString connectionString = "DRIVER={SQL Server};Server="+ serverName + ";APP=Enterprise Suite;DATABASE="+ dataBaseName +";Network=DBMSSOCN";


Query::Query(
        QString typeConnection,
        QString nameConnection
             )
{
    lastError = "";
    this->nameConnection = nameConnection;
    this->typeConnection = typeConnection;
    db = QSqlDatabase::addDatabase(typeConnection, nameConnection);

}

int Query::createConnection(
        QString connectionString,  //строка соединения
        QString userName,            //Имя пользователя
        QString Password             //Пароль
        )
{
    lastError = "";
    QString SQLString = "";

     db.setDatabaseName(connectionString);

    if(!db.open(userName, Password))
    {
        lastError = db.lastError().text() + " "  + SQLString;
        return ERROR_OPEN_DB;
    }

    if(isConnect()==ERROR_OPEN_DB)
    {
        lastError = db.lastError().text() + " "  + SQLString;
        return ERROR_OPEN_DB;
    }

    return ERROR_NO;
}


Название: Re: Соединение с MSSQL без ODBC?
Отправлено: Пантер от Июнь 28, 2011, 16:11
http://connectionstrings.com/


Название: Re: Соединение с MSSQL без ODBC?
Отправлено: Danila_Bagrofff от Июнь 28, 2011, 16:34
Спасибо, получилось, настроил нужный драйвер, заработало!
Строка для соедиения с MSSQL 2008.

Код:
QString connectionString = "Driver={SQL Server Native Client 10.0};Server="+serverName+";Database="+dataBaseName+";Trusted_Connection=yes;";


Название: Re: Соединение с MSSQL без ODBC?
Отправлено: Danila_Bagrofff от Июнь 30, 2011, 13:46
Если будет ошибка Driver not loaded. Не забудьте рядом с приложением разместить папку sqldrivers и скопировать необходимые либы в эту папку!