易截截图软件、单文件、免安装、纯绿色、仅160KB

终于编译好了qt的oracle驱动QOCI,连接成功!!!

这么多天以来终于有件事可以小舒畅了一下了。
今天终于编译好了qt的oracle驱动QOCI,连接成功!!!
Qt Commercial版只自带了SQLLite和ODBC的驱动,oracle的驱动要自己编译,折腾了许久,终于成功了。具体如下:
编译QOCI:
1st
:
go to Qt’s Command Prompt window. (VS 2008

)
2nd
:
set INCLUDE=%INCLUDE%;D:\Work\Oracle_10.2_client\oci\include
3rd
:
set LIB=%LIB%;D:\Work\Oracle_10.2_client\oci\lib\msvc
4th
:
cd %QTDIR%\src\plugins\sqldrivers\oci
5th
:
qmake -o Makefile oci.pro
6th
:
nmake
连接数据库:
#include <QtCore/QCoreApplication>
#include <QSqlDatabase>
#include <QSqlQuery>
#include <QVariant>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
////////////////////////////////////////////////////
QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
db.setHostName("192.168.0.192");
db.setDatabaseName("dbname");
db.setUserName("username");
db.setPassword("passwd");
db.setPort(1521);
if (db.open())
printf("打开成功\n");
else
printf("打开失败\n");
////////////////////////////////////////////////////
QSqlQuery query("SELECT column_1 from table_1");
while (query.next()) {
QString country = query.value(0).toString();
printf("%s\n",country.toLocal8Bit().data());
}
////////////////////////////////////////////////////
return a.exec();
}

以前一直显示
QSqlDatabase: QOCI driver not loaded
QSqlDatabase: available drivers: QSQLITE QODBC3 QODBC
打开失败
QSqlQuery::exec: database not open
Cheers!
顺带记录下Solaris10下的编译方法(没试过)
Oracle的环境变量:
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/product/10.0.2
Qt的编译文件在Solaris 10下的路径:
/export/home/qt-4.3.1/qt-X11-commercial-src-4.3.1
Qt的环境变量:
QTDIR=/usr/local/Trolltech/Qt-4.3.1
Show下环境变量:
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/p


相关文档:

[Oracle]高效的PL/SQL程序设计(四)

本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......

jsp 链接Oracle的连接池和查询跳转代码(带登录)

'-------------------------------------------------------------------以下是登录代码
<%@ page contentType="text/html; charset=gb2312"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3 ......

SQLServer和Oracle常用函数对比


数学函数
在oracle 中distinct关键字可以显示相同记录只显示一条
  1.绝对值
  S:select abs(-1) value
  O:select abs(-1) value from dual
  2.取整(大)
  S:select ceiling(-1.001) value
  O:select ceil(-1.001) value from dual
  3.取整(小)
  S:select floor(-1.001) value ......

sqlserver:openrowset / oracle:table/view@dblink名

只是sqlserver 提供的远程数据访问函数;  在本地sqlserver 中取外部数据源数据时候可用;
对连接本地 oracle 操作远程 oracle 不能使用; 测试: pl/sql 中使用:
select * from openrowset(................); 无效!!!!!!!!!!!!!!
在oracle 中需要访问远程数据,需要建立一连接远程oracle 的 dblink ;
再用如下方 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号