总结工作中的Sybase数据库(六)

[b]关于常见的一些异常以及处理方法[/b]


1.以下语句用于处理Sybase数据日志堆满的时候
(The transaction log in database EBILLS is almost full.
Your transaction is being suspended until space is made available in the log. )
solution:
use master
go
sp_dboption EBILLS,trunc,true
go


use master
2> go
1> sp_dboption cqweb,"select into/bulkcopy",true
2> go

2.关于syabse的自定义函数步骤
(在SYBASE12.5或者更久以前的版本都是不支持函数,但是有些时候我们又需要一些函数,而不仅仅是过程,这里有可以采用JAVA实现,并且写JAVA肯定比写存储过程要好多了,JAVA处理数据的能力或者是类型,会让SYBASE增不少光彩。以下是网上找到的一篇文章,详细介绍如何在SYBASE中使用JAVA,但我先说明一点,我现在用的是12.5.4这个版本,也提示开启JAVA功能成功,但是去不能够将JAR文件提交到数据库,也许这样与操作系统或者是数据库版本的问题。)
Solution:

1·首先,要先允许数据库支持JAVA的特性。
sp_configure “enable java”,1
2.重新启动Sybase数据库服务
3.编译并且打包上面这个java程序。
javac sam/*.java
jar cf0 sam.jar sam\*.class
4.安装java包到数据库中,用sybase提供的instjava程序,这个程序会随着sybase安装的时候,一起安装的。要说明的是,NT和unix命令名称不一样。unix下是installjava ,Windows NT下是instjava 。

instjava -f "E:\工作目录\Sybase\java\sam.jar" -new -j -S sam -U sa -P -D Northwind

5 在Sybase的Transaction-SQL中调用Hello方法

1> select (new sam.HelloWorld())>>Hello()

2> go



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

HelloWorld

我们可以看到,sybase基本采用了类似java语法,因此,java程序员应该很容易使用。

8 下面,我再谈谈第二个特性(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;



}



}

9 编译,打包,安装后。现在,我们就可以直接使用这个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

你可能感兴趣的:(Sybase,工作,Java,Go,Unix)