Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.6.1, 6.8.0
-
-
000d462bf (dev), 0b5b6e7db (6.7), 38277a88f (dev), d10cba961 (6.9), e43f6d708 (6.8)
Description
The SQL QODBC driver implementation fails to escape passwords set with setPassword(...). Authentication fails when using a password with special characters like ";". However, when wrapping the password inside { }, authentication succeeds.
Proper escaping should be done in the driver implementation.
To reproduce the issue:
- Create a test database with Microsoft SQL Server.
- Ensure that your database accepts SQL Server and Windows Authentication mode.
- Create a user and ensure that their password contains ";".
- Edit the values in the attached example project to match your database information and user credentials.
- Run the attached example project.
Attachments
Issue Links
- resulted in
-
PYSIDE-2744 The script terminates unexpectedly with exit code 3221225477 upon attempting to import QSqlDatabase.
- Closed
-
QTBUG-123444 regression: ODBC connection strings no longer work with QSqlDatabase::setDatabaseName()
- Closed
For Gerrit Dashboard: QTBUG-122642 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
543254,2 | SQL/ODBC: escape values in connection string | dev | qt/qtbase | Status: MERGED | +2 | 0 |
544775,2 | SQL/ODBC: escape values in connection string | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
603103,4 | SQL/ODBC: escape values in connection string | dev | qt/qtbase | Status: MERGED | +2 | 0 |
618974,2 | SQL/ODBC: escape values in connection string | 6.9 | qt/qtbase | Status: MERGED | +2 | 0 |
619168,2 | SQL/ODBC: escape values in connection string | 6.8 | qt/qtbase | Status: MERGED | +2 | 0 |