我使用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设置为不使用它们?
答案 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的表中。