用户"db2admin" "db2inst1" 有什么区别
select ? as id from houlm_alb
用db2admin连接db2数据,传入参数后可以正常运行.
用db2admin连接db2数据,传入参数后执行,报错:
com.ibm.db2.jcc.a.SqlException: DB2 SQL error: SQLCODE: -418, SQLSTATE: 42610, SQLERRMC: unresolved untyped expression
这语句正常,传入的参数都已明确告诉connection是字符串类型
SQL code?1 select cast(? as varchar(100)) as id from houlm_alb
这两个用户到底有什么区别?
怎么设置db2inst1才能执行呢
SQL code?1 select ? as id from houlm_alb 毕业论文
首先 要搞清楚问题 请使用表的完整名称 即模式名.表名的形式
这样你就会看出区别
db2admin db2inst1你可以理解为用户 但是不同用户(模式)访问不带有模式名的表对象时并不代表他们所访问的是同一个表
就是schema的问题,表名前面加模式名,只要有select权限的用户都可以执行。
查到原因了,是db2与其他数据的驱动区别问题
说明db2在aix下
//不能正常执行的,指明java.sql.Types.VARCHAR类型也不行,必须以setString才行
PreparedStatement.setObject(idx,obj,java.sql.Types.VARCHAR);
必须是
PreparedStatement.setString(idx,obj);