Как создать объект oracle.sql.ARRAY?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как создать объект oracle.sql.ARRAY?

Сообщение Anonymous »

Этот вопрос связан с моей исходной проблемой «Как вернуть массив из Java в PL/SQL?», но он более конкретен.

Я читал Oracle Руководство разработчика базы данных JDBC и
  • Создание объектов ARRAY
  • Внутренний драйвер на стороне сервера
  • oracle.jdbc.OracleConnection
  • oracle.jdbc.OracleDriver
но мне все еще не удается написать минимальный код, в котором я могу создать ARRAY, используя

Код: Выделить всё

ARRAY array = oracle.jdbc.OracleConnection.createARRAY(sql_type_name, elements);
как указано в разделе «Создание объектов ARRAY».

Я использую JVM базы данных Oracle.
Я пробовал следующее:

Пример 1

Код: Выделить всё

create or replace type widgets_t is table of varchar2(32767);
/

create or replace and compile java source named "so20j1" as
public class so20j1 {
public void f1() {
String[] elements = new String[]{"foo", "bar", "zoo"};
oracle.sql.ARRAY widgets =
oracle.jdbc.OracleConnection.createARRAY("widgets_t", elements);
}
};
/
show errors java source "so20j1"
Не работает с:

Код: Выделить всё

Errors for JAVA SOURCE "so20j1":

LINE/COL ERROR
-------- -----------------------------------------------------------------
0/0  so20j1:4: non-static method
createARRAY(java.lang.String,java.lang.Object) cannot be
referenced from a static context

0/0  1 error
0/0  ^
0/0  oracle.sql.ARRAY widgets =
oracle.jdbc.OracleConnection.createARRAY("widgets_t", elements);
Пример 2

Код: Выделить всё

create or replace type widgets_t is table of varchar2(32767);
/

create or replace and compile java source named "so20j2" as

public class so20j2 {
public void f1() {
String[] elements = new String[]{"foo", "bar", "zoo"};
oracle.jdbc.OracleDriver ora = new oracle.jdbc.OracleDriver();
java.sql.Connection conn = ora.defaultConnection();
oracle.sql.ARRAY widgets = conn.createARRAY("widgets_t", elements);
}
};
/
show errors java source "so20j2"
Не работает с:

Код: Выделить всё

Errors for JAVA SOURCE "so20j2":

LINE/COL ERROR
-------- -----------------------------------------------------------------
0/0  so20j2:6: cannot find symbol
0/0  symbol  : method createARRAY(java.lang.String,java.lang.String[])
0/0  1 error
0/0  oracle.sql.ARRAY widgets = conn.createARRAY("widgets_t",
elements);

0/0  ^
0/0  location: interface java.sql.Connection
Отказ от ответственности: я (пока) не Java-программист.

Подробнее здесь: https://stackoverflow.com/questions/787 ... ray-object
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»