db2数据库sql语句db2SQLSTATE=42704
今天在连接db2数据库的时候,在连接的URL中指定了schema的值,但是⼀直都查询不了,后来在⽹上查了下,得在引⽤的表名前⾯指定模式名(schema)的值
String url = "jdbc:db2://197.1.5.105:60000/testdb:currentShcema=ETL;";  <------特别注意这⾥还有⼀个分号
String sql="select * from ETL.ETL_TASK t,ETL.ETL_MODULE m,ETL.ETL_DOMAIN d where t.DOMAIN_ID=D.DOMAIN_ID and
t.MODULE_ID=d.DOMAIN_ID";
原因如下:
如果⽤的是缺省的情况,不可能出现这种错误,因为连结时⽤的⽤户名会作为缺省的模式。所以执⾏select * from ETL.ETL_TASK
t,ETL.ETL_MODULE m,ETL.ETL_DOMAIN d where t.DOMAIN_ID=D.DOMAIN_ID and t.MODULE_ID=d.DOMAIN_ID 应该去查
询ETL.ETL_TASK t,ETL.ETL_MODULE m,ETL.ETL_DOMAIN d。
表建⽴了以后不能更改模式名称。
如果要改变⽤户当前缺省的模式,可以⽤db2 set current sqlid <;模式名称>.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。