51代码网ORACLEMYSQLSQL SERVER其它数据库java/jspasp/asp.netC/C++/VC++APP应用其它语言服务器应用
您现在的位置: 51代码网 >> 其它数据库 >> 文章正文

Java连接DB2,SQL语句表名前要加用户名

更新时间:2012-1-5:  来源:51代码网

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

测试连接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

  • 上一篇文章:
  • 下一篇文章: 没有了
  • 赞助商链接
    推荐文章
  • 此栏目下没有推荐文章
  • {
    设为首页 | 加入收藏 | 友情链接 | 网站地图 | 联系站长 |