複数のユーザーを持つローカル MSSQL データベースがあります。Management Studio でサーバー認証を正常に使用していますが、QT でデータベースに接続しようとすると、指定したユーザー名ではなくローカル Windows ユーザー名が使用されます。
コード:
db.setDatabaseName("DRIVER={SQL Server};SERVER={8SQLQT};DATABASE=GradingSystem;Trusted_Connection=yes;");
db.setUserName("ivanov");
db.setPassword("1");
db.open();
qDebug() << db.userName() << db.lastError();
デバッグ出力:
"ivanov" QSqlError("18456", "QODBC3: 接続できません", "[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user '8sqlqt\asdfgh'.")
asdfghは、ローカル Windows ユーザーの名前です。