如何通过 ODBC 向 Excel 工作表添加额外的行?
Posted
技术标签:
【中文标题】如何通过 ODBC 向 Excel 工作表添加额外的行?【英文标题】:How do I add extra rows to an Excel sheet via ODBC? 【发布时间】:2018-07-06 10:47:32 【问题描述】:我使用 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 设置为不使用它们?
【问题讨论】:
我很困惑 - 你在哪里输入这些命令?INSERT INTO
不是用于返回数据,而是用于将记录添加到现有表中。 SELECT
将用于查看数据。有什么沟通不畅,您能否再澄清一下,或者添加屏幕截图或更具描述性的内容?
Argh - 愚蠢的多个窗口打开!这个问题的标题不正确,我稍后会编辑它。我正在通过 ODBC 引擎运行的脚本中输入命令。
【参考方案1】:
如果不知道更多关于你在做什么、你在做什么以及你的最终目标,我无法给出明确的答案 - 但是,如果你说这可以正常工作:
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);
更多信息:
w3schools : SQL INSERT INTO Statement 教程点:SQL INSERT Query (Tutorial)【讨论】:
抱歉,问题包含错误。生成的实际 SQL 具有相关格式。我已经相应地编辑了问题【参考方案2】:找到了。
当您通过 ODBC 在 Excel 中创建表时,您会在该表中创建一个同名的命名范围。
当你尝试这样插入时:
insert into 'update5'.'age' values (2);
它被解释为您试图添加到名为 update5 的命名范围,该范围位于表 update5 内。
你需要使用语法:
insert into [update5$].'age' values (2);
将值添加到名为 update5 的表中。
【讨论】:
以上是关于如何通过 ODBC 向 Excel 工作表添加额外的行?的主要内容,如果未能解决你的问题,请参考以下文章
通过 ODBC 缓存 DB 访问 Excel - 锁定许可证问题