当前位置:Linux教程 - Oracle - kylix server developer版与oracle816连接方法

kylix server developer版与oracle816连接方法

作者 cjacker (journeyman)

整理实现者:cjacker
come from magicfeather studio;


首先,安装oracle816(自然要添加一个oracle.oracle用户了)。
建议使用jdk118,oracle816要求的是这个版本,我看到网上的一些文章都用jdk1
30,可能不会出现什么问题,但不推荐。
其次,以oracle用户身份安装kylix sd版(不要以其他用户来做,像root用户会
出现找不到oracle驱动的情况,其它用户不能连接oracle)。
正确设置环境变量,修改/etc/bashrc.
加入:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/dir/to/kylix/bin
现在应该已经可以连接oracle了。

一个小例子:
oracle_sid=haha;
以system/manager@haha用户测试;
常见表a:
svrmgrl
connect system/manager@haha
create table a (a int);
insert into a values(1);
insert into a values(2);

用到控件:
db express:
sql connection
sdl dataset
db access:
datasource
clientdataset
datasetprovider
db control:
dbgrid
dbnavigator
standard:
button(2个)
过程:

创建form1.
添加上述控件。
双击form1上的sql connection.会出现选择数据库驱动的列表框,选择oracle驱
动,正确设置database name,和user password;并可以测试连接。
修改其属性active为true,会要求你输入用户名与密码连接数据库。
相应的将其他控件的属性也修改为true.
空间连接的顺序:
sqkconnection<---sqldataset<----dataprovider<----clientdataset<----datasource{
{<----dbnavigator
{ <----dbdride
将dqldataset的属性修改为ctquery.select * from A;
将所有控件属性改为true之后,应该可以在dbgrid中看到表A的内容了;
button1.caption为commit.双击这个控件,添加代码:
if clientDataSet1.Active then client.ApplyUpdates(-1);

button2.caption为exit,添加代码close;

编译并运行即可。

可以通过dbnavigator添加,删除数据。commit按钮提交。

另一种方法,可以下载kylix的odac控件包,支持oracle7,8i版本。
使用方法差不多了:)

注意问题:
我是在redhat7.1上作的,oracle的installer在GB环境下有乱码,有部分是中文

其中dbassist是中文的,其他的工具还是有问题,可能是jdk118的locale问题。
也可能是我的平台有点问题。如果你愿意,可以在安装完成后,将jdk换成local
e做得更好的jdk13.

建议做法:
安装英文系统,安装oracle,注意建库时的nls_lang设定(支持中文的库),
然后再汉化系统,安装kylix即可。
如果你不建立中文库,在输入中文时,数据库存储为??.
我用linuxoracle服务器,pb客户端测试,不能进行正确的字符传输。
其它中文平台我没有试过,不只oracle的安装有没有乱码。有兴趣自己是一下吧
:)
安装一个oracle816企业版大概要1G空间。