麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > Java > 正文

ASE12.5數據庫內嵌JAVA開發指南

2024-07-21 02:08:06
字體:
來源:轉載
供稿:網友

ase12.5數據庫內嵌java開發指南


作者:翁彥

時間:2004年4月

平臺

windows 2000 server

ase 12.5 developer edtion for nt

聲明

歡迎轉載,請保留本申明信息

[email protected]


    用過oracle 8i的朋友,知道oracle 8i中,可以通過loadjava命令將java對象內嵌在數據庫里面。這樣可以使得pl/sql程序可以調用這些java對象。這個技術的好處在于:

1 擴展了pl/sql程序的功能,我們知道,pl/sql是擴展了sql命令,可以進行邏輯運算操作,但是有了java語言的支持,那可以做的事情將更多

2 可以為我們提供一種新型的數據類型。現在的rdbms都支持自定義類型,和對象類型。但是自定義的類型只和某種數據庫相關,在不同數據庫間進行遷移的時候,這些數據類型顯然是不能遷移的(你必須要自己在新的數據庫中去實現這部分,也許你該改動的代碼將會是不可預計的)。這使得我們對于想使用對象數據類型不得不顧慮重重,甚至放棄它。而java可以幫助我們徹底打消顧慮。

    下面,我就簡單地談一談sybase 12.5中是如何應用的。

1 首先,要先允許數據庫支持java的特性。

  sp_configure “enable java”,1


1> sp_configure "enable java",1

2> go

 parameter name                 default     memory used config value

         run value   unit                 type

 ------------------------------ ----------- ----------- ------------

        ----------- -------------------- ----------

 enable java                              0           0           1

                   0 switch               static

 

(1 row affected)

configuration option changed. since the option is static, adaptive server must

be rebooted in order for the change to take effect.

changing the value of 'enable java' to '1' increases the amount of memory ase

uses by 6482 k.

(return status = 0)


2 重新啟動sybase數據庫。nt下面,可以通過控制面板->管理工具->服務來重啟。

3 好了,下面,我們來簡單地開發一個java程序,然后看看sybase的t-sql是如何調用的。

java程序

package sam;

 

public class helloworld

{

public string  hello()

{

       return "helloworld";

}

 

}

4 編譯并且打包上面這個java程序。

javac sam/*.java

jar cf0 sam.jar sam/*.class

5 安裝java包到數據庫中,用sybase提供的instjava程序,這個程序會隨著sybase安裝的時候,一起安裝的。要說明的是,nt和unix命令名稱不一樣。unix下是installjava ,windows nt下是instjava 。 

instjava -f "e:/工作目錄 ybase/java am.jar" -new -j -s sam -u sa -p -d northwind

6 在sybase的transaction-sql中調用hello方法

1> select (new sam.helloworld())>>hello()

2> go

 

 --------------------------------------------------

 helloworld

我們可以看到,sybase基本采用了類似java語法,因此,java程序員應該很容易使用。

7 下面,我再談談第二個特性(java對象類型)的開發應用。

package sam;

 

public class address implements java.io.serializable

{

private string varcity;

private string varcountry;

private string varzip;

private string varhome;

 

public address(string mcity,string mcountry,string mzip,string mhome)

{

    varcity=mcity;

    varcountry=mcountry;

    varzip=mzip ;      

    varhome=mhome;

}

 

public string city()

{

   return varcity; 

}

 

public string country()

{

   return varcountry;  

}

 

public string homeaddress()

{

   return varhome;     

}

 

public string zip()

{

   return varzip;  

}

 

public void modifyaddress(string mcity,string mcountry,string mzip,string mhome)

{

    varcity=mcity;

    varcountry=mcountry;

    varzip=mzip ;      

    varhome=mhome;

      

}

 

}

8 編譯,打包,安裝后。現在,我們就可以直接使用這個java對象類型。

建一個表,數據庫字段類型是一個java類。

注意:可以作為數據庫字段類型的java類,必須implements了java.io.serializable接口。

1> create table emps (

2>         empno int,

3>         name varchar(30),

4>         addr sam.address default new sam.address

5>             ('not known', '','','')

6> )

7> go

1> alter table emps add constraint pk_emps primary key(empno)

2> go

操作并使用java類型的字段。

1> insert into emps(empno,name) values(1,'tom')

2> go

(1 row affected)

1> insert into emps values(2,'bob',

2> new sam.address('shanghai','china','200132','1169,nanjin road'))

3> go

(1 row affected)

 

1> begin

2> declare @a sam.address

3> select @a=addr from emps where empno=2

4> select @a>>country(),@a>>city(),@a>>homeaddress(),@a>>zip()

5> end

6> go

 

--------------------------------------------------

         --------------------------------------------------

         --------------------------------------------------

         --------------------------------------------------

 china

         shanghai

         1169,nanjin road

         200132

 

(1 row affected)

 

    通過以上簡單的例子,希望能夠對大家實際的系統開發有所幫助。

 

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 狠狠操夜夜爱 | 永久免费黄色大片 | 日本高清电影在线播放 | 在线播放免费人成毛片乱码 | 毛片在线视频观看 | teensexhd| 视频在线91| 久久久久久99 | 天天色人人爱 | chinese xvideos gay| 欧美精品| 亚洲精品在线观看网站 | 中国国语毛片免费观看视频 | 成人福利在线视频 | 国产精品亚洲一区二区三区久久 | 欧美性猛交xxxxx按摩国内 | 涩涩激情网 | 精品国产乱码久久久久久丨区2区 | 国内精品一级毛片免费看 | 天天草天天爱 | 九九热精品视频在线 | 成人三级电影网站 | 国产免费传媒av片在线 | 久久精品视频日本 | 欧美激情猛片xxxⅹ大3 | gril hd| 亚洲骚图 | 国产色视频一区 | 色网免费观看 | 欧美成人精品一区 | 91精品国 | 草久在线观看视频 | 久久91精品久久久久清纯 | 久久第四色 | av在线视| 亚洲精品午夜国产va久久成人 | 日韩视频在线视频 | 91精品国产综合久久婷婷香 | 激情小说激情电影 | 国产视频在线免费观看 | 曰韩黄色片 |