歡迎您光臨本站 註冊首頁

kylix server developer版與oracle816連接方法

←手機掃碼閱讀     火星人 @ 2014-03-12 , reply:0
  作者 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空間。


[火星人 ] kylix server developer版與oracle816連接方法已經有423次圍觀

http://coctec.com/docs/linux/show-post-74173.html