Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. What is the equivalent code lines to interbase jdbc url?
Forum Updated to NodeBB v4.3 + New Features

What is the equivalent code lines to interbase jdbc url?

Scheduled Pinned Locked Moved Unsolved General and Desktop
21 Posts 4 Posters 7.0k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • X Offline
    X Offline
    xeoshow
    wrote on last edited by
    #11

    I checked the link you provided, but what is the value for provider in my case? I just used the default interbase driver in QT.

    Thanks!

    1 Reply Last reply
    0
    • VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #12

      I think it's either sibprovider or SIBPROvider.2

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      0
      • X Offline
        X Offline
        xeoshow
        wrote on last edited by
        #13

        I just tried to modify code as below:

            QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE", "ib");
            db.setHostName("127.0.0.1");
            QString connectionStr = "provider=SIBPROvider.2;location=localhost:;data source=c:\FOODBEV.GDB;user id=SYSDBA;Password=masterkey;character set=GB2312;";
        //    db.setDatabaseName("C:/FOODBEV.GDB");//"C:/TEST.GDB"
            db.setDatabaseName(connectionStr);//"C:/TEST.GDB"
            db.setUserName("SYSDBA");
            db.setPassword("masterkey");
            db.setConnectOptions("ISC_DPB_LC_CTYPE=GB2312");        // 对中文的支持
            bool bopen = false;
            bopen = db.open();
            LOG(TRACE) << "bopen=" << bopen;
        

        And got below result output:

        ...
        bopen=0
        QSqlQuery::exec: database not open
        ...
        

        Using sibprovider or SIBPROvider.2 got the same result, which seems got open db failed issue. Or is there anything I did wrong regarding connectionStr ?

        Thanks for kind help!

        1 Reply Last reply
        0
        • X Offline
          X Offline
          xeoshow
          wrote on last edited by
          #14

          Looks like the connection string from https://www.connectionstrings.com/ is for ODBC driver connection? Not sure if the QT default Interbase driver is ODBC type?

          Thanks again for kind help!

          jsulmJ 1 Reply Last reply
          0
          • X xeoshow

            Looks like the connection string from https://www.connectionstrings.com/ is for ODBC driver connection? Not sure if the QT default Interbase driver is ODBC type?

            Thanks again for kind help!

            jsulmJ Offline
            jsulmJ Offline
            jsulm
            Lifetime Qt Champion
            wrote on last edited by
            #15

            @xeoshow Use http://doc.qt.io/qt-5/qsqldatabase.html#lastError to print out the error after open().
            And putting DB file in c:\ like c:\FOODBEV.GDB isn't a good idea as non-administrator users normally do not have write access there.

            https://forum.qt.io/topic/113070/qt-code-of-conduct

            1 Reply Last reply
            0
            • X Offline
              X Offline
              xeoshow
              wrote on last edited by
              #16

              @jsulm Thanks v much for help!
              I moved the gdb database file to D:, and also used the lastError() method, now code as below:

                  QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE", "ib");
                  db.setHostName("127.0.0.1");
                  QString connectionStr = "provider=SIBPROvider.2;data source=D:/FOODBEV.GDB;character set=GB2312;";
                  db.setDatabaseName(connectionStr);//"C:/TEST.GDB"
                  db.setUserName("SYSDBA");
                  db.setPassword("masterkey");
                  db.setConnectOptions("ISC_DPB_LC_CTYPE=GB2312;");        // 对中文的支持
                  bool bopen = false;
                  bopen = db.open();
                  LOG(TRACE) << "bopen=" << bopen << ", lastError=" << db.lastError().text();
              
              

              And still the same issue, got below LOG info, seems strange ...

              bopen=0, lastError=Unable to complete network request to host "provider=SIBPROvider.2;data source=D". - Failed to locate host machine. - The specified name was not found in the hosts file or Domain Name Services. Error opening database
              QSqlQuery::exec: database not open
              
              jsulmJ 2 Replies Last reply
              0
              • X xeoshow

                @jsulm Thanks v much for help!
                I moved the gdb database file to D:, and also used the lastError() method, now code as below:

                    QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE", "ib");
                    db.setHostName("127.0.0.1");
                    QString connectionStr = "provider=SIBPROvider.2;data source=D:/FOODBEV.GDB;character set=GB2312;";
                    db.setDatabaseName(connectionStr);//"C:/TEST.GDB"
                    db.setUserName("SYSDBA");
                    db.setPassword("masterkey");
                    db.setConnectOptions("ISC_DPB_LC_CTYPE=GB2312;");        // 对中文的支持
                    bool bopen = false;
                    bopen = db.open();
                    LOG(TRACE) << "bopen=" << bopen << ", lastError=" << db.lastError().text();
                
                

                And still the same issue, got below LOG info, seems strange ...

                bopen=0, lastError=Unable to complete network request to host "provider=SIBPROvider.2;data source=D". - Failed to locate host machine. - The specified name was not found in the hosts file or Domain Name Services. Error opening database
                QSqlQuery::exec: database not open
                
                jsulmJ Offline
                jsulmJ Offline
                jsulm
                Lifetime Qt Champion
                wrote on last edited by
                #17

                @xeoshow I never used Interbase but are you sure that Interbase uses a DB file like SQLite?
                The error message tells you that it tries to connect to a computer over network.
                You probably need to connect to an Interbase SERVER not file.

                https://forum.qt.io/topic/113070/qt-code-of-conduct

                1 Reply Last reply
                0
                • X xeoshow

                  @jsulm Thanks v much for help!
                  I moved the gdb database file to D:, and also used the lastError() method, now code as below:

                      QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE", "ib");
                      db.setHostName("127.0.0.1");
                      QString connectionStr = "provider=SIBPROvider.2;data source=D:/FOODBEV.GDB;character set=GB2312;";
                      db.setDatabaseName(connectionStr);//"C:/TEST.GDB"
                      db.setUserName("SYSDBA");
                      db.setPassword("masterkey");
                      db.setConnectOptions("ISC_DPB_LC_CTYPE=GB2312;");        // 对中文的支持
                      bool bopen = false;
                      bopen = db.open();
                      LOG(TRACE) << "bopen=" << bopen << ", lastError=" << db.lastError().text();
                  
                  

                  And still the same issue, got below LOG info, seems strange ...

                  bopen=0, lastError=Unable to complete network request to host "provider=SIBPROvider.2;data source=D". - Failed to locate host machine. - The specified name was not found in the hosts file or Domain Name Services. Error opening database
                  QSqlQuery::exec: database not open
                  
                  jsulmJ Offline
                  jsulmJ Offline
                  jsulm
                  Lifetime Qt Champion
                  wrote on last edited by
                  #18

                  @xeoshow Connection strings used here http://docwiki.embarcadero.com/InterBase/XE7/en/Connecting_to_InterBase_from_Visual_Studio look different to what you do.

                  https://forum.qt.io/topic/113070/qt-code-of-conduct

                  1 Reply Last reply
                  0
                  • X Offline
                    X Offline
                    xeoshow
                    wrote on last edited by
                    #19

                    BTW, using "D:/FOODBEV.GDB" or "D:\FOODBEV.GDB" got the same result ...

                    1 Reply Last reply
                    0
                    • X Offline
                      X Offline
                      xeoshow
                      wrote on last edited by
                      #20

                      @jsulm Actually used my original code at the first post, I can insert data into the interbase, just can not select data with Chinese characters correctly...
                      The connection string is just got from https://www.connectionstrings.com/ , I will now try the one you provided.

                      1 Reply Last reply
                      0
                      • X Offline
                        X Offline
                        xeoshow
                        wrote on last edited by
                        #21

                        Seems still the same problem, anywhere I could check the qt source code to find the related logic?

                        1 Reply Last reply
                        0

                        • Login

                        • Login or register to search.
                        • First post
                          Last post
                        0
                        • Categories
                        • Recent
                        • Tags
                        • Popular
                        • Users
                        • Groups
                        • Search
                        • Get Qt Extensions
                        • Unsolved