Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Database event notification subscription



  • Hello. I trying to get real time notification after a table was inserted or updated. I thought about using timer to make request every X seconds, but wouldn't I be attacking my own server? I've been reading this CREATE EVENT NOTIFICATION and QSqlDriver::subscribeToNotification(const QString &name) I think is the solution, However. I'm having hard time understanding and implementing it.

    I enabled service broker (ALTER DATABASE mybd SET ENABLE_BROKER).

    from the example bellow, what is "Object_Created"? is it event type? does ALTER_TABLE count as insert? let's say I want to detect after a specific table was inserted. How can I accomplish this?

    --Create a queue to receive messages.  
    CREATE QUEUE NotifyQueue ;  
    GO  
    --Create a service on the queue that references  
    --the event notifications contract.  
    CREATE SERVICE NotifyService  
    ON QUEUE NotifyQueue  
    ([https://schemas.microsoft.com/SQL/Notifications/PostEventNotification]);  
    GO  
    --Create a route on the service to define the address   
    --to which Service Broker sends messages for the service.  
    CREATE ROUTE NotifyRoute  
    WITH SERVICE_NAME = 'NotifyService',  
    ADDRESS = 'LOCAL';  
    GO  
    --Create the event notification.  
    CREATE EVENT NOTIFICATION log_ddl1   
    ON SERVER   
    FOR Object_Created   
    TO SERVICE 'NotifyService',  
        '8140a771-3c4b-4479-8ac0-81008ab17984' ; 
    

    and how do I connect/detect with notification() signal after the change was made? Does the code bellow do the job? Does the event notification return the inserted data? Sorry for many questions, I would like to understand. If anyone has knowledge on these I would appreciate any help. Thanks

    QSqlDatabase::database().driver()->subscribeToNotification("EventNotification");
    
    connect(QSqlDatabase::database().driver(), SIGNAL(notification(const QString&)),
            this, SLOT(notificationHandler(const QString&)));
    

  • Lifetime Qt Champion

    Hi,

    Disclaimer: I haven't used that feature yet.

    Maybe a silly question but did you check that the driver provides that feature ?


  • Lifetime Qt Champion

    @SGaist said in Database event notification subscription:

    Maybe a silly question but did you check that the driver provides that feature ?

    Not that silly - neither the MySQL nor the ODBC driver do support it (only IBASE, psql and SQLite).



  • @Christian-Ehrlicher, @SGaist Do you have any suggestion on how to achieve what I I would like to do?



  • @Christian-Ehrlicher said in Database event notification subscription:

    @SGaist said in Database event notification subscription:

    Maybe a silly question but did you check that the driver provides that feature ?

    Not that silly - neither the MySQL nor the ODBC driver do support it (only IBASE, psql and SQLite).

    Could you explain this better? which ODBC driver? does Qt provide ODBC driver or is the one that we manually install/comes pre-installed for Sql server? I'm kind of lost because microsoft states in features-of-the-microsoft-odbc-driver-for-sql-server:

    Asynchronous Execution (Notification Method)
    The ODBC Driver for SQL Server supports Asynchronous Execution (Notification Method). For a usage sample, see Asynchronous Execution (Notification Method) Sample.

    But I'm not sure if this Notification method is the same as event notification


  • Lifetime Qt Champion

    As I already said - the Qt ODBC driver does not support notifications: https://doc.qt.io/qt-5/qsqldriver.html#hasFeature



  • @Christian-Ehrlicher I see, thanks. Do you have any suggestion?


  • Lifetime Qt Champion

    @Ucn_ said in Database event notification subscription:

    Do you have any suggestion?

    You a database which supports notification or provide a patch to add notification support for the Qt ODBC driver.



  • @Christian-Ehrlicher Do you have any reference where I can read about adding the patch for the notification support? I can't find anything related to it. Thanks


  • Lifetime Qt Champion

    You have to compile the odbc driver by yourself and then add the needed pieces in qsql_odbc.cpp



  • @Christian-Ehrlicher while trying to compile I receive this error:

    Info: creating stash file C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\.qmake.stash
    Cannot read C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/qtsqldrivers-config.pri: No such file or directory
    Project ERROR: Library 'odbc' is not defined.
    

  • Lifetime Qt Champion

    @Ucn_ said in Database event notification subscription:

    while trying to compile I receive this error:

    So did you run qmake as described, what was the output?
    Make sure to remove config.cache before rerunning qmake.



  • @Christian-Ehrlicher that was the error it gave after qmake. I tried to follow this:

    1-open qt command prompt
    2-cd C:\Program Files (x86)\Microsoft Visual Studio xxx\VC\ folder and run vcvarsall.bat
    3-cd Qt xx\xx\Src\qtbase\src\plugins\sqldrivers\odbc
    4-qmake odbc.pro (It failed here)
    5-nmake

    I'm not sure if this is the right way. I can't find config.cache file. By the way, when trying to open PSQL database it says: QSqlDatabase: QPSQL driver not loaded
    QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
    Do I need to add the PATH to the PostgreSQL bin and lib dir?


  • Lifetime Qt Champion

    So you did not follow the instructions how to build a sql driver.



  • @Christian-Ehrlicher I tried to follow what you sent, I get this output:

    Setting up environment for Qt usage...
    Remember to call vcvarsall.bat to complete environment setup!
    
    C:\Qt\Qt\5.12.4\msvc2017_64>cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC
    
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC>vcvarsall.bat
    
    C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC>cd C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers
    
    C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers>qmake
    
    Running configuration tests...
    Done running configuration tests.
    
    Configure summary:
    
    Qt Sql Drivers:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. no
      OCI (Oracle) ........................... no
      ODBC ................................... no
      PostgreSQL ............................. no
      SQLite2 ................................ no
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... no
    
    Qt is now configured for building. Just run 'nmake'.
    Once everything is built, you must run 'nmake install'.
    Qt will be installed into 'C:\Qt\Qt\5.12.4\msvc2017_64'.
    
    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.
    
    
    C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers>nmake sub-odbc
    
    Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    NMAKE : fatal error U1073: don't know how to make 'sub-odbc'
    Stop.
    

    I have deleted config.cache (C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers>del config.cache) as you suggested. But I didn't not run again, I just noticed the ODBC.........................no Is it supposed to say "no"?



  • @Christian-Ehrlicher said in Database event notification subscription:

    @Ucn_ said in Database event notification subscription:

    while trying to compile I receive this error:

    So did you run qmake as described, what was the output?
    Make sure to remove config.cache before rerunning qmake.

    I deleted config.cache(C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers>del config.cache). But, I did not run again because I noticed the ODBC..............................no so I wanted to ask if it was supposed to be "no"?


  • Lifetime Qt Champion

    It should be yes - so it does not find the odbc header or libraries - take a look into config.log



  • @Christian-Ehrlicher said in Database event notification subscription:

    It should be yes - so it does not find the odbc header or libraries - take a look into config.log

    After deleting config.cache and running again, this time it shows "yes". It runs but then I get this error:

     fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.EXE"' : return code '0x458'
    Stop.
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    
    C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers>qmake
    
    Running configuration tests...
    Checking for DB2 (IBM)... no
    Checking for InterBase... no
    Checking for MySQL... no
    Checking for OCI (Oracle)... no
    Checking for ODBC... yes
    Checking for PostgreSQL... no
    Checking for SQLite (version 2)... no
    Checking for TDS (Sybase)... no
    Done running configuration tests.
    
    Configure summary:
    
    Qt Sql Drivers:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. no
      OCI (Oracle) ........................... no
      ODBC ................................... yes
      PostgreSQL ............................. no
      SQLite2 ................................ no
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... no
    
    Qt is now configured for building. Just run 'nmake'.
    Once everything is built, you must run 'nmake install'.
    Qt will be installed into 'C:\Qt\Qt\5.12.4\msvc2017_64'.
    
    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.
    
    
    C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers>nmake sub-odbc
    
    Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
            cd odbc\ && ( if not exist Makefile C:\Qt\Qt\5.12.4\msvc2017_64\bin\qmake.exe -o Makefile C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\odbc\odbc.pro ) && "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe" -f Makefile
    
    Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
            "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe" -f Makefile.Release all
    
    Microsoft (R) Program Maintenance Utility Version 14.00.24210.0
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
            cl -BxC:\Qt\Qt\5.12.4\msvc2017_64\bin\qmake.exe -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -O2 -Zi -MD -utf-8 /wd4530 /wd4577 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 -E C:\Qt\Qt\5.12.4\msvc2017_64\mkspecs\features\data\dummy.cpp 2>NUL >.moc\release\moc_predefs.h
            C:\Qt\Qt\5.12.4\msvc2017_64\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DNDEBUG -D_WINDLL --compiler-flavor=msvc --include C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc/.moc/release/moc_predefs.h -IC:/Qt/Qt/5.12.4/msvc2017_64/mkspecs/win32-msvc -IC:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtSql/5.12.4 -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtSql/5.12.4/QtSql -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtCore/5.12.4 -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtCore/5.12.4/QtCore -IC:/Qt/Qt/5.12.4/msvc2017_64/include -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtSql -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtCore -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" main.cpp -o .moc\release\main.moc
            C:\Qt\Qt\5.12.4\msvc2017_64\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DNDEBUG -D_WINDLL --compiler-flavor=msvc --include C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc/.moc/release/moc_predefs.h -IC:/Qt/Qt/5.12.4/msvc2017_64/mkspecs/win32-msvc -IC:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtSql/5.12.4 -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtSql/5.12.4/QtSql -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtCore/5.12.4 -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtCore/5.12.4/QtCore -IC:/Qt/Qt/5.12.4/msvc2017_64/include -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtSql -IC:/Qt/Qt/5.12.4/msvc2017_64/include/QtCore -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" qsql_odbc_p.h -o .moc\release\moc_qsql_odbc_p.cpp
            rc /NOLOGO -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DNDEBUG -D_WINDLL -fo .obj\release\qsqlodbc_resource.res qsqlodbc_resource.rc
            cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -O2 -Zi -MD -utf-8 /wd4530 /wd4577 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 /Fd.obj\release\qsqlodbc.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DNDEBUG -D_WINDLL -I. -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtSql\5.12.4 -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtSql\5.12.4\QtSql -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtCore\5.12.4 -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtCore\5.12.4\QtCore -IC:\Qt\Qt\5.12.4\msvc2017_64\include -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtSql -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtCore -I.moc\release -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.6.11-winx64\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\Qt\5.12.4\msvc2017_64\mkspecs\win32-msvc -Fo.obj\release\ @C:\Users\MACHO_~1\AppData\Local\Temp\nmD83A.tmp
    qsql_odbc.cpp
    main.cpp
    Generating Code...
            cl -c -nologo -Zc:wchar_t -FS -Zc:rvalueCast -Zc:inline -Zc:strictStrings -Zc:throwingNew -O2 -Zi -MD -utf-8 /wd4530 /wd4577 -W3 -w34100 -w34189 -w44996 -w44456 -w44457 -w44458 -wd4577 -wd4467 /Fd.obj\release\qsqlodbc.vc.pdb -DUNICODE -D_UNICODE -DWIN32 -D_ENABLE_EXTENDED_ALIGNED_STORAGE -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -DNDEBUG -D_WINDLL -I. -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtSql\5.12.4 -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtSql\5.12.4\QtSql -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtCore\5.12.4 -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtCore\5.12.4\QtCore -IC:\Qt\Qt\5.12.4\msvc2017_64\include -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtSql -IC:\Qt\Qt\5.12.4\msvc2017_64\include\QtCore -I.moc\release -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.6.11-winx64\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\Qt\5.12.4\msvc2017_64\mkspecs\win32-msvc -Fo.obj\release\ @C:\Users\MACHO_~1\AppData\Local\Temp\nmB03.tmp
    moc_qsql_odbc_p.cpp
            link /NOLOGO /DYNAMICBASE /NXCOMPAT /DEBUG /OPT:REF /INCREMENTAL:NO /DLL /SUBSYSTEM:WINDOWS /VERSION:5.12 /OUT:..\plugins\sqldrivers\qsqlodbc.dll @C:\Users\MACHO_~1\AppData\Local\Temp\nm1C79.tmp
    Qt5Sql.lib(Qt5Sql.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86'
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.EXE"' : return code '0x458'
    Stop.
    NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\nmake.exe"' : return code '0x2'
    Stop.
    NMAKE : fatal error U1077: 'cd' : return code '0x2'
    Stop.
    
    


  • @Christian-Ehrlicher msvc2017 gave that "conflict" error, I used mingw32-make to compile. it generated these files:
    libqsqlodbc.a
    libqsqlodbcd.a
    qsqlodbc.dll
    qsqlodbc.pdb
    qsqlodbcd.dll
    under C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers.
    If this is the desired output, what is the next step? thanks

    This was the output:

    C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers>del config.cache
    
    C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers>qmake
    
    Running configuration tests...
    Checking for DB2 (IBM)... no
    Checking for InterBase... no
    Checking for MySQL... no
    Checking for OCI (Oracle)... no
    Checking for ODBC... yes
    Checking for PostgreSQL... no
    Checking for SQLite (version 2)... no
    Checking for TDS (Sybase)... no
    Done running configuration tests.
    
    Configure summary:
    
    Qt Sql Drivers:
      DB2 (IBM) .............................. no
      InterBase .............................. no
      MySql .................................. no
      OCI (Oracle) ........................... no
      ODBC ................................... yes
      PostgreSQL ............................. no
      SQLite2 ................................ no
      SQLite ................................. yes
        Using system provided SQLite ......... no
      TDS (Sybase) ........................... no
    
    Qt is now configured for building. Just run 'mingw32-make'.
    Once everything is built, you must run 'mingw32-make install'.
    Qt will be installed into 'C:\Qt\Qt5.13.2\5.13.2\mingw73_32'.
    
    Prior to reconfiguration, make sure you remove any leftovers from
    the previous build.
    
    
    C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers>mingw32-make sub-odbc
    cd odbc\ && ( if not exist Makefile C:\Qt\Qt5.13.2\5.13.2\mingw73_32\bin\qmake.exe -o Makefile C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\odbc\odbc.pro ) && mingw32-make -f Makefile
    mingw32-make[1]: Entering directory 'C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc'
    mingw32-make -f Makefile.Release all
    mingw32-make[2]: Entering directory 'C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc'
    g++ -c -fno-keep-inline-dllexport -O2 -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2\QtCore -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore -I.moc\release -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.7.25-win32\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\mkspecs\win32-g++  -o .obj\release\qsql_odbc.o qsql_odbc.cpp
    g++ -fno-keep-inline-dllexport -O2 -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -dM -E -o .moc\release\moc_predefs.h C:\Qt\Qt5.13.2\5.13.2\mingw73_32\mkspecs\features\data\dummy.cpp
    C:\Qt\Qt5.13.2\5.13.2\mingw73_32\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB --include C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc/.moc/release/moc_predefs.h -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/mkspecs/win32-g++ -IC:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql/5.13.2 -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql/5.13.2/QtSql -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore/5.13.2 -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore/5.13.2/QtCore -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" main.cpp -o .moc\release\main.moc
    g++ -c -fno-keep-inline-dllexport -O2 -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2\QtCore -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore -I.moc\release -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.7.25-win32\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\mkspecs\win32-g++  -o .obj\release\main.o main.cpp
    C:\Qt\Qt5.13.2\5.13.2\mingw73_32\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB --include C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc/.moc/release/moc_predefs.h -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/mkspecs/win32-g++ -IC:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql/5.13.2 -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql/5.13.2/QtSql -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore/5.13.2 -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore/5.13.2/QtCore -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" qsql_odbc_p.h -o .moc\release\moc_qsql_odbc_p.cpp
    g++ -c -fno-keep-inline-dllexport -O2 -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2\QtCore -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore -I.moc\release -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.7.25-win32\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\mkspecs\win32-g++  -o .obj\release\moc_qsql_odbc_p.o .moc\release\moc_qsql_odbc_p.cpp
    windres -i qsqlodbc_resource.rc -o .obj\release\qsqlodbc_resource_res.o --include-dir=. -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB
    g++ -Wl,-s -shared -Wl,-subsystem,windows -Wl,--out-implib,C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers\libqsqlodbc.a -o ..\plugins\sqldrivers\qsqlodbc.dll .obj/release/qsql_odbc.o .obj/release/main.o .obj/release/moc_qsql_odbc_p.o  -LC:\openssl\lib -LC:\Utils\my_sql\mysql-5.7.25-win32\lib -LC:\Utils\postgresql\pgsql\lib C:\Qt\Qt5.13.2\5.13.2\mingw73_32\lib\libQt5Sql.a C:\Qt\Qt5.13.2\5.13.2\mingw73_32\lib\libQt5Core.a "C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x86\odbc32.lib" .obj\release\qsqlodbc_resource_res.o
    mingw32-make[2]: Leaving directory 'C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc'
    mingw32-make -f Makefile.Debug all
    mingw32-make[2]: Entering directory 'C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc'
    g++ -c -fno-keep-inline-dllexport -g -Og -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2\QtCore -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore -I.moc\debug -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.7.25-win32\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\mkspecs\win32-g++  -o .obj\debug\qsql_odbc.o qsql_odbc.cpp
    g++ -fno-keep-inline-dllexport -g -Og -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -dM -E -o .moc\debug\moc_predefs.h C:\Qt\Qt5.13.2\5.13.2\mingw73_32\mkspecs\features\data\dummy.cpp
    C:\Qt\Qt5.13.2\5.13.2\mingw73_32\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB --include C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc/.moc/debug/moc_predefs.h -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/mkspecs/win32-g++ -IC:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql/5.13.2 -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql/5.13.2/QtSql -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore/5.13.2 -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore/5.13.2/QtCore -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" main.cpp -o .moc\debug\main.moc
    g++ -c -fno-keep-inline-dllexport -g -Og -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2\QtCore -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore -I.moc\debug -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.7.25-win32\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\mkspecs\win32-g++  -o .obj\debug\main.o main.cpp
    C:\Qt\Qt5.13.2\5.13.2\mingw73_32\bin\moc.exe -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB --include C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc/.moc/debug/moc_predefs.h -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/mkspecs/win32-g++ -IC:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql/5.13.2 -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql/5.13.2/QtSql -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore/5.13.2 -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore/5.13.2/QtCore -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtSql -IC:/Qt/Qt5.13.2/5.13.2/mingw73_32/include/QtCore -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\INCLUDE" -I"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\ATLMFC\INCLUDE" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\ucrt" -I"C:\Program Files (x86)\Windows Kits\NETFXSDK\4.6.1\include\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\shared" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\um" -I"C:\Program Files (x86)\Windows Kits\10\include\10.0.17763.0\winrt" qsql_odbc_p.h -o .moc\debug\moc_qsql_odbc_p.cpp
    g++ -c -fno-keep-inline-dllexport -g -Og -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2\QtCore -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore -I.moc\debug -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.7.25-win32\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\mkspecs\win32-g++  -o .obj\debug\moc_qsql_odbc_p.o .moc\debug\moc_qsql_odbc_p.cpp
    windres -i qsqlodbcd_resource.rc -o .obj\debug\qsqlodbcd_resource_res.o --include-dir=. -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB
    g++ -shared -Wl,-subsystem,windows -Wl,--out-implib,C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers\libqsqlodbcd.a -o ..\plugins\sqldrivers\qsqlodbcd.dll .obj/debug/qsql_odbc.o .obj/debug/main.o .obj/debug/moc_qsql_odbc_p.o  -LC:\openssl\lib -LC:\Utils\my_sql\mysql-5.7.25-win32\lib -LC:\Utils\postgresql\pgsql\lib C:\Qt\Qt5.13.2\5.13.2\mingw73_32\lib\libQt5Sqld.a C:\Qt\Qt5.13.2\5.13.2\mingw73_32\lib\libQt5Cored.a "C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x86\odbc32.lib" .obj\debug\qsqlodbcd_resource_res.o
    mingw32-make[2]: Leaving directory 'C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc'
    mingw32-make[1]: Leaving directory 'C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc'
    

  • Lifetime Qt Champion

    @Ucn_ said in Database event notification subscription:

    If this is the desired output, what is the next step? thanks

    Now since the plugin is build you can start fixing it.



  • @Christian-Ehrlicher I'm afraid I will have to ask for guidance on this. I have never build the plugin before. But, I may assume I need to include the generated files in my .pro file. But you mentioned about adding the files in qsql_odbc.cpp. how can I add them? Thanks


  • Lifetime Qt Champion

    I don't understand what you mean - when you built the plugin and did a make install then the plugin will be in the sqlplugins folder of your Qt installation. If it does not work, copy them over by hand.



  • @Christian-Ehrlicher the plugin were created in C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers you mentioned something about adding files. I just don't know the next step after building the plugin



  • @Ucn_
    Did you try @Christian-Ehrlicher's

    "and did a make install"
    If it does not work, copy them over by hand.

    ?



  • @JonB Ooh sorry, I did not see that part. the instruction I was following on qt doc did not mention about make install, it was something like this:

    cd %QTDIR%\qtbase\src\plugins\sqldrivers
    qmake
    nmake sub-odbc
    

    And there are two plugin folders
    But I did this:

    C:\Qt\Qt5.13.2\5.13.2\mingw73_32>cd C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\odbc
    
    C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\odbc>mingw32-make install
    mingw32-make -f Makefile.Release install
    mingw32-make[1]: Entering directory 'C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc'
    g++ -c -fno-keep-inline-dllexport -O2 -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_NO_DEBUG -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2\QtCore -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore -I.moc\release -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.7.25-win32\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\mkspecs\win32-g++  -o .obj\release\qsql_odbc.o qsql_odbc.cpp
    g++ -Wl,-s -shared -Wl,-subsystem,windows -Wl,--out-implib,C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers\libqsqlodbc.a -o ..\plugins\sqldrivers\qsqlodbc.dll .obj/release/qsql_odbc.o .obj/release/main.o .obj/release/moc_qsql_odbc_p.o  -LC:\openssl\lib -LC:\Utils\my_sql\mysql-5.7.25-win32\lib -LC:\Utils\postgresql\pgsql\lib C:\Qt\Qt5.13.2\5.13.2\mingw73_32\lib\libQt5Sql.a C:\Qt\Qt5.13.2\5.13.2\mingw73_32\lib\libQt5Core.a "C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x86\odbc32.lib" .obj\release\qsqlodbc_resource_res.o
    copy /y ..\plugins\sqldrivers\qsqlodbc.dll C:\Qt\Qt5.13.2\5.13.2\mingw73_32\plugins\sqldrivers\qsqlodbc.dll
            1 file(s) copied.
    C:\Qt\Qt5.13.2\5.13.2\mingw73_32\bin\qmake.exe -install qinstall C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\lib\cmake\Qt5Sql\Qt5Sql_QODBCDriverPlugin.cmake C:\Qt\Qt5.13.2\5.13.2\mingw73_32\lib\cmake\Qt5Sql\Qt5Sql_QODBCDriverPlugin.cmake
    mingw32-make[1]: Leaving directory 'C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc'
    mingw32-make -f Makefile.Debug install
    mingw32-make[1]: Entering directory 'C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc'
    g++ -c -fno-keep-inline-dllexport -g -Og -std=c++1z -fno-exceptions -Wall -W -Wextra -Wvla -Wdate-time -Wshift-overflow=2 -Wduplicated-cond -Wno-stringop-overflow -DUNICODE -D_UNICODE -DWIN32 -DMINGW_HAS_SECURE_API=1 -DWINVER=0x0601 -D_WIN32_WINNT=0x0601 -DQT_DEPRECATED_WARNINGS -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT -DQT_NO_CAST_TO_ASCII -DQT_NO_CAST_FROM_ASCII -DQT_NO_EXCEPTIONS -DQT_PLUGIN -DQT_SQL_LIB -DQT_CORE_LIB -I. -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql\5.13.2\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2 -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore\5.13.2\QtCore -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtSql -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\include\QtCore -I.moc\debug -IC:\openssl\include -IC:\Utils\my_sql\mysql-5.7.25-win32\include -IC:\Utils\postgresql\pgsql\include -IC:\Qt\Qt5.13.2\5.13.2\mingw73_32\mkspecs\win32-g++  -o .obj\debug\qsql_odbc.o qsql_odbc.cpp
    g++ -shared -Wl,-subsystem,windows -Wl,--out-implib,C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\plugins\sqldrivers\libqsqlodbcd.a -o ..\plugins\sqldrivers\qsqlodbcd.dll .obj/debug/qsql_odbc.o .obj/debug/main.o .obj/debug/moc_qsql_odbc_p.o  -LC:\openssl\lib -LC:\Utils\my_sql\mysql-5.7.25-win32\lib -LC:\Utils\postgresql\pgsql\lib C:\Qt\Qt5.13.2\5.13.2\mingw73_32\lib\libQt5Sqld.a C:\Qt\Qt5.13.2\5.13.2\mingw73_32\lib\libQt5Cored.a "C:\Program Files (x86)\Windows Kits\10\lib\10.0.17763.0\um\x86\odbc32.lib" .obj\debug\qsqlodbcd_resource_res.o
    copy /y ..\plugins\sqldrivers\qsqlodbcd.dll C:\Qt\Qt5.13.2\5.13.2\mingw73_32\plugins\sqldrivers\qsqlodbcd.dll
            1 file(s) copied.
    C:\Qt\Qt5.13.2\5.13.2\mingw73_32\bin\qmake.exe -install qinstall C:\Qt\Qt5.13.2\5.13.2\Src\qtbase\src\plugins\sqldrivers\lib\cmake\Qt5Sql\Qt5Sql_QODBCDriverPlugin.cmake C:\Qt\Qt5.13.2\5.13.2\mingw73_32\lib\cmake\Qt5Sql\Qt5Sql_QODBCDriverPlugin.cmake
    mingw32-make[1]: Leaving directory 'C:/Qt/Qt5.13.2/5.13.2/Src/qtbase/src/plugins/sqldrivers/odbc'
    


  • This post is deleted!

Log in to reply