Oracle OCI programming and Borland C++ Builder
As you may know, Oracle dropped support for Borland Compilers in OCI
some time back. Well, it isn't all that hard to set up again.
I'm running 9i Release 2 Enterprise Edition on this PC at work and I am
using Borland C++ Builder 6 to 'play' with OCI programming - I intend to
build a set of components eventually, but I need to know what I'm doing
first !
I remember trying in the past to get OCI to work - but had no luck,
however, this time I decided not to give in so easily. I was depressed
to find that the old Borland folder under <oracle_hjome>\oci\lib has
gone - looks like only MS Visual C is supported - and we all know that
MS and Borland have a different OMF format and there is much wailing and
gnashing of teeth to get Borland talking to DLLs etc created with MSVC
and vice versa.
There are docs on Metalink which go into great detail about these
differences and how it can screw up your life to use a Borland compiler
- but I suspect these are now out of date.
Here is what you have to do instead (the following uses my paths -
adjust for your setup) :
Open a DOS window
cd e:\oracle\ora92\oci\lib
mkdir borland
cd borland
Assuming that the CBuilder bin directory is on your path .....
implib -a oci.lib <oracle_home>\bin\oci.dll
exit
That has created an import library to be added to any OCI projects you
want to create. The '-a' bit is required as it prepends an underscore to
the exported module names in the dll. This is what used to cause so many
problems with MS/Borland libraries and stuff in the past.
The rest is simple, run up C++ Builder and open one of the Oracle
samples - I used CDemo6 - you'll be asked to create a project to run it,
do so then save it as BOR_CDemo6.
Project | options and on the directories tab, add
<oracle_home>\oci\include to the includes path.
Then Project | add to project and add <oracle_home>\oci\borland\oci.lib
to the project.
Compile & run - et viola (as French musicians would
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
Sql中两个“-”表示注释的开始。
拼接运算符:”||”,注意:只有在所有的运算符为null时,拼接的结果是null。
比较运算符用于比较两个值或表达式,给出一个布尔型的结果 true,false,null.
比较运算符:
=
!= <> ^=
[not]in 包含
Any some 将一个值与列表中的每个值或者 ......
CREATE OR REPLACE VIEW ADMIN.TYPETREEVIEW
(ID, ITEMNO, ITEMNOSUB, GROUPID, MEMO,
TREE)
AS
/* 2007/01/23 16:51 XieShaoHua 递归查询 */
SELECT typetree.ID, typetree.itemno, typetree.itemnosub, typetree.groupid,
&n ......
ORDER BY 排序
ASC 升序(默认)
DESC 降序
select * from s_emp order by dept_id , salary desc
部门号升序,工资降序
关键字distinct也会触发排序操作。
select * from employee order by 1; //按第一字段排序
NULL被认为无穷大。order by 可以跟别名。
select table_name ......
pl/sql 提供了强大而灵活的手段来捕捉和处理程序产生的异常,从而使 oracle 的用户远离一些令人烦恼的 bug 。
pl/sql 异常处理的概念和术语
在 oracle 中所有的错误都被认为是不应该发生的异常。一个异常可能是以下 3 种情况的一种:
u 由系统产生的错误(& ......