Вызов JDBC хранимой процедуры, которая принимает массив в качестве параметра

Я пытаюсь вызвать приведенную ниже процедуру с использованием кода Java, но я получаю несколько ошибок (в основном для преобразования типов). Я кое-что напутал, может кто-нибудь взглянуть на это.

Это первый раз, когда я делаю это.

Небольшая помощь была бы отличной.

прок:

DECLARE
   car__details_tab car__details_tab_type := NEW car__details_tab_type();
   car_id                   number_tab_type;
   car_error_tab           car__error_tab_type := new car__error_tab_type();
   car_purchase_id                   NUMBER;
BEGIN
   car__details_tab.extend;
   car__details_tab(car__details_tab.count) := car__details_type(null,
   null
   ,null
   ,null
   ,null
   );
   car__details_tab(car__details_tab.COUNT).model_id := AW0;
   car__details_tab(car__details_tab.COUNT).brand := 'LAM';
   car__details_tab(car__details_tab.COUNT).version := 1;
   car__details_tab(car__details_tab.COUNT).type := 'Sedan';


   pckg.ins_trade_details(car__details_tab => car__details_tab
                                       ,car_purchase_id            => 101
                                       ,user                      => 'Test'
                                       ,car_id_tab              => car_id
                                       ,car_error_tab           => car_error_tab);
   DBMS_OUTPUT.PUT_LINE(car_purchase_id);

   IF car_error_tab.EXISTS(1)
   THEN
      FOR i IN 1 .. car_error_tab.COUNT
      LOOP
         dbms_output.put_line(car_error_tab(i).model_id);
         dbms_output.put_line(car_error_tab(i).version);
         dbms_output.put_line(car_error_tab(i).version);
         dbms_output.put_line(car_error_tab(i).error_text);
      END LOOP;
   END IF;

Java-код

public void save(String DataSource,int Id,String username,String[] car__details_tab_type) throws SQLException{
        Connection con = getConnection(DataSource);
        CallableStatement cs= con.prepareCall({call pckg.save_details(?,?,?,?,?)});

    Object[] project1 = new Object[]{AWO,"LAM,1,"SEDAN"};
    Object[] project2 = new Object[]{AWO,"LAM,1,"SEDAN"};

    StructDescriptor projectTypeDesc = StructDescriptor.createDescriptor("CAR__DETAILS_TAB_TYPE", con);
    STRUCT structProject1 = new STRUCT(projectTypeDesc, con, project1);//THIS IS WHERE I GET THE ERROR
    STRUCT structProject2 = new STRUCT(projectTypeDesc, con, project2);

    STRUCT[] structArrayOfProjects = {structProject1,structProject2};
     ArrayDescriptor projectTypeArrayDesc = ArrayDescriptor.createDescriptor("CAR__DETAILS_TAB_TYPE", con);
     ARRAY arrayOfProjects = new ARRAY(projectTypeArrayDesc, con, structArrayOfProjects);       

        cs.setArray(1, details);
        cs.setInt(2, Id);
        cs.setString(3, username);

        cs.registerOutParameter(4, java.sql.Types.ARRAY);
        cs.registerOutParameter(5, java.sql.Types.ARRAY);
        cs.execute();

    }

ОШИБКА

java.sql.SQLException: несовместимые типы объектов java и sql

Ответы на вопрос(0)

Ваш ответ на вопрос