JAVA中遇到sybase的两个要注意的地方.

huangzhe0 2008-09-11

之前自己一直用的是oracle或者SQLSERVER数据库.所以也没有太在意sybase在JAVA中的使用差异

实际上归纳为一点,就是区分大小写.

不管是用hibernate还是直接用JDBC操作Sybase都是区分大小写的.

下面我把遇到的两点写一下.

1:在Hibernater中配置hbm.xml文件的时候.其中的映射的表名字和字段名字都要和实际创建表的时候的字段和表名字统一.

drop table tb_tablemesg_tab
go
create table tb_tablemesg_tab
(
  table_id      VARCHAR(40) not null,
  table_code    VARCHAR(50) not null,
  table_name    VARCHAR(50) not null,
  DataSource_id VARCHAR(50)
) 
go

此代码里面的最后一条DataSource_id

2:就是在写jdbc查询语句的时候有一个要注意的地方.

selectt.namefromuserstwheret.name='chen'

以上语句在oracle和sqlserver中都是可以的.但是在Sybase中却要写成

selectnamefromuserswherename='chen'

其中的别名就不要了.另外因为没有看sybase中的多表联合查询的时候是如何写的.因为这里不能写别名.

有人知道的请留言谢谢.

关于第二点,别名的问题,谢谢mistyle的回复.

因为之前的程序里调试的代码是这样的.
String sql3 = "delete from tb_permission_tab  t where t.per_parentid='"+tablecode+"'";

我把t去掉以后就可以了.我再看看.晕差点误导别人.

t是关键字?

相关推荐