java调用shell连接db2,非root连接则提示db2:not found
1.Java用ch.ethz.ssh2包下的类连接服务器,大致如下:
conn = new Connection(ip);
conn.connect();
conn.authenticateWithPassword(usr, psword);
Session session = conn.openSession();
session.execCommand(cmds);
2. java用root连接服务器,脚本里 su到数据库用户然后执行没问题
Db2Backup(){
su - ${ADMIN_NAME} -c "
db2 connect to ${DATABASE_NAME} user ${SCHAM_USER} using ${SCHAM_PASSWORD}
db2 \"import from ${LOCAL_DIR}/${fileName} of DEL commitcount 10000 replace into ${tabName}\"
"
}
现客户不希望用root去操作
3. 用数据库用户,连接服务器,脚本里直接写db2命令,提示“db2:not found”
Db2Backup(){
db2 connect to ${DATABASE_NAME} user ${SCHAM_USER} using ${SCHAM_PASSWORD}
db2 "import from ${LOCAL_DIR}/${fileName} of DEL commitcount 10000 replace into ${tabName}"
}
/opt/IBM/db2/V10.5/bin/db2 写全则报错“SQL10007N Message "-1390" could not be retrieved. Reason code: "3"”
各位大侠有什么经验或意见,不惜赐教,万分感谢!