|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Archive非常适合存储大量的独立的,作为历史记录的数据。因为它们不经常被读取。Archive拥有高效的插入速度,但其对查询的支持相对较差开辟指南|数据|数据库
ASE12.5数据库内嵌JAVA开辟指南
翁彦
工夫:2004年4月
平台
Windows2000Server
ASE12.5developeredtionforNT
声明
接待转载,请保存本声名信息
enhydraboy@yahoo.com.cn
用过ORACLE8i的伴侣,晓得ORACLE8i中,能够经由过程loadjava命令将java工具内嵌在数据库内里。如许可使得PL/SQL程序能够挪用这些JAVA工具。这个手艺的优点在于:
1扩大了PL/SQL程序的功效,我们晓得,PL/SQL是扩大了SQL命令,能够举行逻辑运算操纵,可是有了java言语的撑持,那能够做的事变将更多
2能够为我们供应一种新型的数据范例。如今的RDBMS都撑持自界说范例,和工具范例。可是自界说的范例只和某种数据库相干,在分歧数据库间举行迁徙的时分,这些数据范例明显是不克不及迁徙的(你必需要本人在新的数据库中往完成这部分,大概你该修改的代码将会是不成估计的)。这使得我们关于想利用工具数据范例不能不挂念重重,乃至保持它。而JAVA能够匡助我们完全取消挂念。
上面,我就复杂地谈一谈SYBASE12.5中是怎样使用的。
1起首,要先同意数据库撑持JAVA的特征。
sp_configure“enablejava”,1
1>sp_configure"enablejava",1
2>go
ParameterNameDefaultMemoryUsedConfigValue
RunValueUnitType
----------------------------------------------------------------
-----------------------------------------
enablejava001
0switchstatic
(1rowaffected)
Configurationoptionchanged.Sincetheoptionisstatic,AdaptiveServermust
berebootedinorderforthechangetotakeeffect.
Changingthevalueofenablejavato1increasestheamountofmemoryASE
usesby6482K.
(returnstatus=0)
2从头启动Sybase数据库。NT上面,能够经由过程把持面板->办理工具->服务来重启。
3好了,上面,我们来复杂地开辟一个JAVA程序,然后看看sybase的T-SQL是怎样挪用的。
java程序
packagesam;
publicclassHelloWorld
{
publicStringHello()
{
return"HelloWorld";
}
}
4编译而且打包下面这个java程序。
javacsam/*.java
jarcf0sam.jarsam*.class
5安装java包到数据库中,用sybase供应的instjava程序,这个程序会跟着sybase安装的时分,一同安装的。要申明的是,NT和unix命令称号纷歧样。unix下是installjava,WindowsNT下是instjava。
instjava-f"E:事情目次ybasejavaam.jar"-new-j-Ssam-Usa-P-DNorthwind
6在Sybase的Transaction-SQL中挪用Hello办法
1>select(newsam.HelloWorld())>>Hello()
2>go
--------------------------------------------------
HelloWorld
我们能够看到,sybase基础接纳了相似java语法,因而,java程序员应当很简单利用。
7上面,我再谈谈第二个特征(java工具范例)的开辟使用。
packagesam;
publicclassAddressimplementsjava.io.Serializable
{
privateStringvarCity;
privateStringvarCountry;
privateStringvarZip;
privateStringvarHome;
publicAddress(StringmCity,StringmCountry,StringmZip,StringmHome)
{
varCity=mCity;
varCountry=mCountry;
varZip=mZip;
varHome=mHome;
}
publicStringCity()
{
returnvarCity;
}
publicStringCountry()
{
returnvarCountry;
}
publicStringHomeAddress()
{
returnvarHome;
}
publicStringZip()
{
returnvarZip;
}
publicvoidModifyAddress(StringmCity,StringmCountry,StringmZip,StringmHome)
{
varCity=mCity;
varCountry=mCountry;
varZip=mZip;
varHome=mHome;
}
}
8编译,打包,安装后。如今,我们就能够间接利用这个java工具范例。
建一个表,数据库字段范例是一个java类。
注重:能够作为数据库字段范例的java类,必需implements了java.io.serializable接口。
1>createtableemps(
2>empnoint,
3>namevarchar(30),
4>addrsam.Addressdefaultnewsam.Address
5>(Notknown,,,)
6>)
7>go
1>altertableempsaddconstraintpk_empsprimarykey(empno)
2>go
操纵并利用java范例的字段。
1>insertintoemps(empno,name)values(1,TOM)
2>go
(1rowaffected)
1>insertintoempsvalues(2,BOB,
2>newsam.Address(Shanghai,china,200132,1169,nanjinroad))
3>go
(1rowaffected)
1>begin
2>declare@Asam.Address
3>select@A=addrfromempswhereempno=2
4>select@A>>Country(),@A>>City(),@A>>HomeAddress(),@A>>Zip()
5>end
6>go
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
china
Shanghai
1169,nanjinroad
200132
(1rowaffected)
经由过程以上复杂的例子,但愿可以对人人实践的体系开辟有所匡助。
MyISAMMysql的默认数据库,最为常用。拥有较高的插入,查询速度,但不支持事务 |
|