Как добавить дополнительные строки в лист Excel через ODBC? - PullRequest
0 голосов
/ 06 июля 2018

Я использовал ODBC, чтобы создать лист в Excel и добавить в него строку.

Буквально команды были просто:

create table 'update5' ('age' NUMBER);
insert into 'update5'.'age' values (1);

Это работает, и я могу видеть строки на листе и через DBVisualiser и результаты моего запроса ODBC.

Позже я написал больше SQL, чтобы добавить еще одну строку:

insert into 'update5' ('age') values (2);

но я получаю ошибку:

[Microsoft] [ODBC Excel Driver] Не удается расширить именованный диапазон.

Я не знаю, почему используются именованные диапазоны, есть ли способ настроить ODBC, чтобы они не использовались?

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Нашли.

Когда вы создаете таблицу в Excel через ODBC, вы создаете именованный диапазон с тем же именем в этой таблице.

При попытке вставить вот так:

insert into 'update5'.'age' values (2);

Это интерпретируется как попытка добавить в именованный диапазон с именем update5, который находится внутри таблицы update5.

Вам необходимо использовать синтаксис:

insert into [update5$].'age' values (2);

для добавления значений в таблицу с именем update5.

0 голосов
/ 06 июля 2018

Не зная больше о том, что вы делаете, над чем работаете, и о вашей конечной цели, я не могу дать однозначного ответа - однако, если вы говорите, что все работает как есть:

create table 'update5' ('age' NUMBER);
insert into 'update5'.'age' values (1);

... тогда понятно, что это:

insert into update5 values (2);

... не будет работать, потому что вы пропали без вести:

  • кавычки (которые могут или не могут быть необязательными в вашей среде), и,
  • имя поля, в которое вы хотите экспортировать.

В первом insert into утверждении у вас есть:

'update5'     <-- the destination table
.'age'        <-- the destination field
 values (1);  <-- the value to insert

... поэтому, если вы просто пытаетесь добавить запись с номером 2 в то же поле, используйте тот же код :

insert into 'update5'.'age' values (2);

Дополнительная информация:

...