一:代码
- /**连接Oracle数据库
- *数据库名:abc
- *表名:my_oracle
- *用户名:system
- *密码:123
- *端口号:(默认)1521
- */
- void MainDialog::connectOracle(QString sIp, int iPort, QString sDbNm, QString SUSErNm, QString sPwd)
- {
- db = QSqlDatabase::addDatabase("QOCI");
- db.setHostName(sIp);
- db.setPort(iPort);
- db.setDatabaseName(sDbNm);
- db.setUserName(sUserNm);
- db.setPassword(sPwd);
- if (db.open())
- {
- QMessageBox::information(this, tr("提示"), tr("Oracle数据库连接成功!"), tr("确定"));
- }
- else
- {
- QMessageBox::information(this, tr("提示"), tr("Oracle数据库连接失败!"), tr("确定"));
- qDebug() <<"error_Oracle:
" << db.lastError().text();
- }
- }
二:连接过程遇到的问题。问题1:QSqlDatabase: QOCI driver not loadedQSqlDatabase:available drivers: QSQLITE QODBC3 QODBC
(1)出错原因:本连接是通过QMYSQL驱动,而Qt本身并没有QOCI驱动(只有QSQLITE QODBC3 QODBC), 所以就需要自己编译QOCI。(2)编译QOCI驱动。 1.go to "Qt Command Prompt" window. (开始-程序-对应的qt项里面去找)。 2.qmake "INCLUDEPATH+=c:oracleociinclude" "LIBS+=-Lc:oracleocilibmsvc" oci.pro 3.qmake "INCLUDEPATH+=D:oracle_setupappadminproduct11.1.0db_3OCIinclude" "LIBS+=-LD:oracle_setupappadminproduct11.1.0db_3OCIlibmsvc" oci.pro 4.mingw32-make问题2:出现错误:D:qt_sdkqtsrcpluginssqldriversoci>mingw32-make
mingw32-make -f Makefile.Debug all
mingw32-make[1]: Entering directory `D:/qt_sdk/qt/src/plugins/sqldrivers/oci"
mingw32-make[1]: Nothing to be done for `all".
mingw32-make[1]: Leaving directory `D:/qt_sdk/qt/src/plugins/sqldrivers/oci"
mingw32-make -f Makefile.Release all
mingw32-make[1]: Entering directory `D:/qt_sdk/qt/src/plugins/sqldrivers/oci"
mingw32-make[1]: Nothing to be done for `all".
mingw32-make[1]: Leaving directory `D:/qt_sdk/qt/src/plugins/sqldrivers/oci"出错原因:这个问题表示QOCI驱动已经被编译过了!
ORA-00600 [KSLFFRE_PVT2]实例异常终止Oracle关键字Over、With用法相关资讯 Oracle数据库基础教程 Qt连接Oracle Qt连接数据库
- 在Oracle数据库中插入含有&符号的 (03/06/2013 09:20:14)
- Oracle 执行计划更改导致数据加工 (02/13/2013 14:45:04)
- 判断Oracle Sequence是否存在 (02/13/2013 14:32:26)
| - Oracle数据库中无法对数据表进行 (02/26/2013 14:24:58)
- Oracle 在同一台主机上建立用户管 (02/13/2013 14:40:58)
- Oracle em 无法启动,报not found错 (02/13/2013 14:29:48)
|
本文评论 查看全部评论 (0)