java使用DatabaseMetaData 获取 sybase获取元数据信息

java通过DatabaseMetaData获取sybase元数据信息, 可以使用jconn2.jar, jconn3.jar, jconn4.jar 获取jdbc连接;但是使用getTables()方法无法获取到表信息,原因是sybase实现jdbc标准接口是调用存储过程实现的, 默认sybase库是没有执行存储过程的,详见原文

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc39001.0605/html/prjdbc/X30662.htm

可以通过 sql语句 " select name from dbo.sysobjects where type='U' "获取表名称;

主键获取 sql语句 "  sp_pkeys 表名称 ";

列信息 sql 语句 

select isnull(c.name, 'NULL') 'name', t.name 'type',convert(bit,(c.status & 8)) 'status'
from syscolumns c, systypes t, sysxtypes x
where c.id = object_id('test') 
and c.usertype *= t.usertype and c.xtype *= x.xtid

status字段为0 表示非空, 1 表示允许空

sybase ase 无法添加表注释和列注释。

 

安装sybase不能使用centos6,7,经过尝试没有成功, 可以使用redhat5;

你可能感兴趣的:(java,sybase)