如何通过ODBC向Excel工作表添加额外的行?

时间:2018-07-06 10:47:33

标签: excel dbvisualizer odb

我使用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驱动程序]无法扩展命名范围。

我不知道为什么要使用命名范围,是否可以将ODBC设置为不使用它们?

2 个答案:

答案 0 :(得分:0)

在不了解您的工作,所从事的工作以及最终目标的情况下,我无法给出确切的答案-但是,如果您说的是这样,就可以了:

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);

更多信息:

答案 1 :(得分:0)

找到了。

通过ODBC在Excel中创建表时,将在该表中创建一个具有相同名称的命名范围。

当您尝试这样插入时:

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

解释为您试图将其添加到表update5内的名为update5的命名范围。

您需要使用以下语法:

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

将值添加到名为update5的表中。