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
解决方法:新建一个用户,用新的用户建立连接,连接成功。