2

複数のユーザーを持つローカル 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 ユーザーの名前です。

4

1 に答える 1

1

これを試しましたか?

db.setDatabaseName("DRIVER={SQL Server};SERVER={8SQLQT};DATABASE=GradingSystem;Trusted_Connection=no;user_id=ivanov;password=1;");
db.open();
qDebug() << db.userName() << db.lastError();
于 2015-08-20T08:45:51.890 に答える