在多米諾骨牌服務器上,我有一個到as400系統的odbc連接。我可以運行在AS400的程序,並通過發送輸入參數:callablestatement to as400 not working
var sql:string ="CALL QSYS.QCMDEXC('SBMJOB CMD(CALL PGM(DEMO/TESTDEMO) PARM(ABCDEF)) ',0000000048.00000)";
ps = con.prepareCall(sql);
ps.execute();
尼斯,工作,但現在我想獲得一些數據備份。 我想我有一個CallableStatement要做到這一點,所以我嘗試:
var con:Connection = null;
var cs:CallableStatement = null;
try {
java.lang.Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
var con:java.sql.Connection=java.sql.DriverManager.getConnection(url,usr,pwd);
sessionScope.error = sessionScope.error +"connection set /";
var sql:string ="CALL QSYS.QCMDEXC('CALL PGM(DEMO/TESTDEMO) (?,?))";
sessionScope.error = sessionScope.error +"sql set /";
cs = con.prepareCall (sql);
sessionScope.error = sessionScope.error +"cs set /";
cs.setString (1,'test');
sessionScope.error = sessionScope.error +"input param set /";
cs.registerOutParameter (2, Types.VARCHAR);
sessionScope.error = sessionScope.error +"output param set /";
cs.execute();
sessionScope.error = sessionScope.error +"executed /";
var retour = cs.getInt (2);
sessionScope.error = sessionScope.error +"output /"+retour;
if (cs != null) {cs.close();sessionScope.error = sessionScope.error + "/ cs closed"}
if (con != null) {con.close();sessionScope.error = sessionScope.error + "/ con closed"}
}
catch (e){
sessionScope.error = sessionScope.error+"Sql error ="+e.toString();
if (cs != null) {cs.close();sessionScope.error = sessionScope.error + "/ cs closed"}
if (con != null) {con.close();sessionScope.error = sessionScope.error + "/ con closed"}
return;
}
運行此我得到的錯誤:
連接設置/ SQL SET/CS組/ SQL錯誤 = java.lang.NullPointerException/cs closed/con closed
所以問題在於設置輸入參數。
此過程必須在IBM i上進行?如何在給定示例的ssjs中獲取數據? –
@MarcJonkers存儲過程將在服務器上的DB2中定義。希望服務器是多年前取代AS/400的系統之一。如果它已經足夠成爲一個真正的「AS/400」,你可能需要幫助創建SP。 – user2338816
似乎名字納粹在StackOverflow上存在。 'IBM i'是在AS/400上運行的操作系統的新名稱。它取代並相當於(有改進)'OS/400'。 「Power Systems」或「Pure Systems」是過去被稱爲「AS/400」的硬件的新名稱。社區中有些人對命名提出質疑。但是,「OS/400」是「Windows 2.0」,因爲「IBM i v7.3」是「Windows 10」。但我們仍然稱它爲「Windows」。許多人仍然稱它爲「AS/400」。注意:'AS/400'是一個捆綁到'OS/400'的捆綁交易。這已不再是這種情況。 – jmarkmurphy