我在使用Qt5.5连接SQL SERVER时,遇到如下问题:
"[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server \u4E0D\u5B58\u5728\u6216\u8BBF\u95EE\u88AB\u62D2\u7EDD [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()). QODBC3: Unable to connect"
我的源代码如下:
bool DatabaseHandle::createConnection()
{
QSqlDatabase db = QSqlDatabase::addDatabase( "QODBC" );
QString hostName = "localhost";
QString databaseName = "Entranceguarddb";
QString dsn = QStringLiteral("DRIVER={SQL Server};SERVER=%1;DATABASE=%2").arg(hostName).arg(databaseName);
db.setDatabaseName(dsn);
db.setUserName("sa");
db.setPassword("123456");
if( !db.open() )
{
qDebug() << "Open fail." << db.lastError().text();
}else
{
qDebug() << "Open success.";
}
return true;
}
后来偶然看到一个资料,尝试着修改通过了。
在QString hostName = "localhost";后面加上一个端口号QString hostName = "localhost,1433";
这里1433是我第一次尝试使用官方提供的客户端连接时,在设置里加上的端口号。
参考链接:http://blog.sina.com.cn/s/blog_81e5f9f901012vgq.html