Qt, не подключается к базе данных
База данных firebird. Система ubuntu 22.04. qt 5.15.2
void testConn(){
//qDebug() << "Доступные драйверы:" << QSqlDatabase::drivers();
QSqlDatabase::removeDatabase("QIBASE");
QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE");
db.setHostName("172.18.110.56");
db.setPort(3050);
db.setDatabaseName("C:/ACS/Base/ACS.fdb");
db.setUserName("login");
db.setPassword("pass");
/*
db.setHostName("127.0.0.1");
db.setPort(3050);
db.setDatabaseName("/home/nikit/testDB/ACSutf.fdb");
db.setUserName("SYSDBA");
db.setPassword("masterkey");
*/
qDebug() << "Host Name:" << db.hostName();
qDebug() << "Port:" << db.port();
qDebug() << "Database Name:" << db.databaseName();
qDebug() << "User Name:" << db.userName();
int stat = db.open();
qDebug()<< stat;
qDebug() << "OH NO: " << db.lastError().text();
Попытка подключения к локальной базе данных извечно выдает ошибку рода
- нет доступа к
/tmp/firebird. Выдача прав черезsudo chown :adm /tmp/firebird/fb_init,sudo chown :adm /tmp/firebird/fb50_trace,chmod -R 777работает лишь на один запуск, затем сбрасываются. - Исли право на файлы есть, то
user name and password are not defined. Ask your database administrator to set up a Firebird login. - Если в коде добавлять строки:
db.setHostName("127.0.0.1");
db.setPort(3050);
то он уходит в лютую истерию с ошибкой
Invalid connection string - Cannot transliterate character between character sets - Invalid or incomplete multibyte or wide character Error opening database
Попытка подключения к удаленному ресурсу
Invalid connection string - Cannot transliterate character between character sets - Invalid or incomplete multibyte or wide character Error opening database
Товарищи, прошу помочь, сил уже нет, chatgpt водит по кругу, на форумах пустота
Ответы (1 шт):
Драйвер руками собирается для винды. В линуксе все проще
sudo apt install libqt5sql5-ibase