当前页面: 开发资料首页 → J2EE 专题 → DatabaseMetaData在Oracle中的问题
DatabaseMetaData在Oracle中的问题
摘要: DatabaseMetaData在Oracle中的问题
我用DatabaseMetaData来获取数据库表的信息,在SQL Server下,返回的字段名的和SQL Server中定义的一样的,但在Oracle下,返回的字段名就全变成大写了,有什么办法让它不变成大写?
我还发现如果这个表是从SQL Server导过来的就不会变大写了.
ORACLE的字段名本来就是大写。但SQL语句中不区分大小写的。
但我试过,如果这个表是从SQL Server导过来的,DatabaseMetaData返回的字段名就不会变大写了.
SQL Server的字段名不是大写的,因此DatabaseMetaData返回的字段名就不会变大写了.
你在ORACLE中用命令:
select * from tab
可以看到Oracle数据库是怎么处理表名的,你会发现都是大写的(你可能建表的时候用的是小写,但Oracle变成大写了)
我的意思是,在Oracle中有个表,这个表不是直接在Oracle中创建的,是用pb从SQL Server中导到Oracle中的,然后我用DatabaseMetaData读Oracle中的这个从SQL Server导过来的表
我的意思是,在Oracle中有个表,这个表不是直接在Oracle中创建的,是用pb从SQL Server中导到Oracle中的,然后我用DatabaseMetaData读Oracle中的这个从SQL Server导过来的表,这时候不什么原因,字段名就不会变大写了
oracle的全是大写,即使你处理好了大小写,在oracle里面也会变成大写,变成大写与会报错。
mark.....
大小写有什么问题吗?反正在SQL语句中都是一样的。
如果觉得大小写妨碍你取字段名称了,可以直接用列序号。
在创建时带上列引号试试