2003-11-16 23:09
燕狂徒
下面是一个用rsh执行远程DB2命令的例子,在AIX上,会得到下面的输出:<br />rsh hostname ". /home/db2inst1/sqllib/db2profile;db2 connect to sample; db2 \"select * from db2inst1.employee fetch first 3 rows only\";db2 connect reset"<br /><br /> Database Connection Information<br /><br /> Database server = DB2/6000 7.2.0<br /> SQL authorization ID = DB2INST1<br /> Local database alias = SAMPLE<br /><br />EMPNO FIRSTNME MIDINIT LASTNAME WORKDEPT PHONENO HIREDATE JOB EDLEVEL SEX BIRTHDATE SALARY BONUS COMM <br />------ ------------ ------- --------------- -------- ------- ---------- -------- ------- --- ---------- ----------- ----------- -----------<br />000010 CHRISTINE I HAAS A00 3978 01/01/1965 PRES 18 F 08/24/1933 52750.00 1000.00 4220.00<br />000020 MICHAEL L THOMPSON B01 3476 10/10/1973 MANAGER 18 M 02/02/1948 41250.00 800.00 3300.00<br />000030 SALLY A KWAN C01 4738 04/05/1975 MANAGER 20 F 05/11/1941 38250.00 800.00 3060.00<br /><br /> 3 record(s) selected.<br /><br />SQL1024N A database connection does not exist. SQLSTATE=08003<br /><br />上面的输出说明,执行最后一条DB2命令时出错,这和AIX上rsh的行为有关。为避免这个错误,可以简单地在rsh命令后面加上一台操作系统命令。例如在命令最后加上echo命令,这样最后一条DB2命令将被成功执行:<br />rsh hostname ". /home/db2inst1/sqllib/db2profile;db2 connect to sample; db2 \"select * from db2inst1.employee fetch first 3 rows only\";db2 connect reset; echo"<br /><br /> Database Connection Information<br /><br /> Database server = DB2/6000 7.2.0<br /> SQL authorization ID = DB2INST1<br /> Local database alias = SAMPLE<br /><br />EMPNO FIRSTNME MIDINIT LASTNAME WORKDEPT PHONENO HIREDATE JOB EDLEVEL SEX BIRTHDATE SALARY BONUS COMM <br />------ ------------ ------- --------------- -------- ------- ---------- -------- ------- --- ---------- ----------- ----------- -----------<br />000010 CHRISTINE I HAAS A00 3978 01/01/1965 PRES 18 F 08/24/1933 52750.00 1000.00 4220.00<br />000020 MICHAEL L THOMPSON B01 3476 10/10/1973 MANAGER 18 M 02/02/1948 41250.00 800.00 3300.00<br />000030 SALLY A KWAN C01 4738 04/05/1975 MANAGER 20 F 05/11/1941 38250.00 800.00 3060.00<br /><br /> 3 record(s) selected.<br /><br />DB20000I The SQL command completed successfully.