ÖÕÓÚ±àÒëºÃÁË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³ÌÐòÉè¼Æ(Ò»)--αÁÐROWNUMʹÓü¼ÇÉ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(¶þ)--±êÁ¿×Ó²éѯ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Èý)--PackageµÄÓŵã
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(ËÄ)--ÅúÁ¿´¦Àí
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Îå)--µ÷Óô洢¹ý³Ì·µ»Ø½á¹û¼¯
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Áù)- ......
ÓкܶàÓ¦ÓÃÏîÄ¿, ¸ÕÆð²½µÄʱºòÓÃMYSQLÊý¾Ý¿â»ù±¾ÉÏÄÜʵÏÖ¸÷ÖÖ¹¦ÄÜÐèÇó£¬Ëæ×ÅÓ¦ÓÃÓû§µÄÔö¶à£¬Êý¾ÝÁ¿µÄÔö¼Ó£¬MYSQL½¥½¥µØ³öÏÖ²»¿°ÖظºµÄÇé¿ö£º
Á¬½ÓºÜÂýÉõÖÁå´»ú£¬ÓÚÊǾÍÓаÑÊý¾Ý´ÓMYSQLǨµ½ORACLEµÄÐèÇó£¬Ó¦ÓóÌÐòÒ²ÒªÏàÓ¦×öһЩÐ޸ġ£±¾ÈË×ܽá³öÒÔϼ¸µã×¢ÒâÊÂÏϣÍû¶Ô´ó¼ÒÓÐËù°ïÖú¡£
1£® ×Ô¶¯Ôö³¤µÄÊý¾ÝÀàÐ ......
SQLServerºÍOracleµÄ³£Óú¯Êý¶Ô±È
¡¡¡¡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
¡¡¡¡O:select floor(-1.001) valu ......
Oracle±Ê¼Ç
l ¹ØÓÚTRUNCº¯Êý
SELECT
RELATED_ID ,
DOC_ID ,
CAT_ID ,
CAT_CODE ,
RELEASE_DATE ,
&n ......
Ò» ÔÚOracleÖÐÁ¬½ÓÊý¾Ý¿â
public class Test1 {
public static void main(String[] args) {
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection conn = DriverManager.getConnection(
&nbs ......