java db2 sql语句_Java连接DB2,SQL语句表名前要加用户名

我在本地创建了一个数据库和表

测试连接DB2之后发现可以连接成功

但是查询的时候

发现SQL语句中把表名前面强制加上了用户名

比如当前连接数据库的用户是 db2admin

本来SQL我写的是

SELECT * FROM TABLE

但是发现Log里打出来的是 SELECT * FROM DB2ADMIN.TABLE

但实际上这个表是在 SQLJ下的

所以,我就把SQL语句写成了 SELECT * FROM SQLJ.TABLE

然后运行就成功了

现在想问问为什么会这样

然后有什么办法我在配置的时候就指定了 SQLJ

不需要每条SQL语句都写这个东西在表名前

执行sql之前,set schema ...

因为db2会自动吧schema放到表明前面的。

而你连接数据库的用户名和密码就是默认的schema,你可以先set current schema=XX,

正常的做法,是用一个配置文件,里面有schema的名字,然后在sql中拼接。

个人感觉这不是一个好的思路,还是用schema.tablename这样的表名吧。

就算可以通过配置指定一个default schema,万一将来业务扩展引入了更多的schema呢?

连接串试试

"jdbc:db2://localhost:50000/SQLJ

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值