1. 程式人生 > >WIN7+QT5.2.0 連線oracle11g問題及解決方法

WIN7+QT5.2.0 連線oracle11g問題及解決方法

用下面的程式碼建立連線之後,出現了幾個問題
//連線資料庫
        QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
        /**連線Oracle資料庫
          *資料庫名:abc
          *表名:my_oracle
          *使用者名稱:sys
          *密碼:123
          *埠號:(預設)1521
        */
        db.setPort(1521);
        db.setHostName("localhost");
        db.setDatabaseName("abc");
        db.setUserName("sys");
        db.setPassword("123");
        if (!db.open())
	{
            //連結資料庫失敗";
	    db.lastError().text();
            return false;
        }

將db.lastError().text();的內容輸出到label中後顯示如下問題:
1.出現提示:driver not loaded
解決方法:將Qt安裝目錄C:\Qt\Qt5.2.0\5.2.0\Src\qtbase\plugins下的資料夾sqldrivers複製到自己的工程檔案build-linkOracle-Desktop_Qt_5_2_0_MinGW_32bit-Debug\debug目錄下。
資料夾sqldrivers裡面有四個檔案:libqsqloci.a, libqsqlocid.a, qsqloci.dll,qsqlocid.dll
2.出現提示:ORA-28009:應當以 SYSDBA 身份或SYSOPER 身份建立 SYS 連 Unable to logon 
解決方法:新建一個使用者,用新的使用者建立連線,連線成功。(成功原因不清楚)