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 
解决方法:新建一个用户,用新的用户建立连接,连接成功。(成功原因不清楚)

你可能感兴趣的:(QT,oracle数据库)