2016-07-28 5 views
0

자바 다오 코드를 호출 STMT를 사용 아스펜 SQLPLUS 절차와 형식 매개 변수로 문자열 배열을 전달하는 : -어떻게 자바에서

  String[] stringsArray = new String [] { "LC1", "LC2", "LC3" }; 

      CallableStatement cs = sqlpluscon.prepareCall("{call Get_Machine_Wise_OEE(?,?,?,?)}"); 
      cs.setString(1, machineparameter.getStartDate()); 
      cs.setString(2, machineparameter.getEndDate()); 
      cs.setString(3, machineparameter.getShift()); 

      cs.setArray(4, stringsArray); /* want to pass String Array */ 

오류 : -

메소드 setArray (INT, 배열)는 인수 (int, String [])에 적용 할 수 없습니다.

세부 정보 : - Usin g jdbc odbc aspen sqlplus와의 연결, 변수 (배열 아님)를 호출 할 때와 똑같이 작동합니다. String 배열을 사용하면 잘 작동합니다. 프로 시저를 호출 할 수 없습니다. 나는 당신에게 요청 해주세요. 많은 시간을 시도한 해결책을 제공해주세요. 여전히 전화를 걸 수 없습니다.

답변

0

아래와 같이 마지막 줄을 변경하십시오. typeName은 요소 배열 유형에 해당됩니다. 문자열의 경우 MySQL에 varchar 또는 text을 전달할 수 있습니다.

final java.sql.Array sqlArray = con.createArrayOf(typeName , stringsArray); 
cs.setArray(4, sqlArray); 
+0

안녕하세요 jekin 답장을 보내 주셔서 감사합니다. 내가 제안에 따라 내 코드를 업데이 트했지만 아래에 오류 언급을 받고 있어요. plz 솔루션을 제공 할 수 있습니다. –

+0

sun.jdbc.odbc.JdbcOdbcPreparedStatement.setArray (알 수없는 소스) –

+0

somesh에서 java.lang.UnsupportedOperationException 업데이트 된 코드를 여기에 붙여 넣을 수 있습니까? –