【问题标题】:SQLite .output stdoutSQLite .output 标准输出
【发布时间】:2014-04-30 16:46:19
【问题描述】:

我正在尝试将 csv 文件导出到固定长度的文件。 我正在使用 SQLite,因为我必须处理文件。

我遇到的问题是输出。

这是我从 sql 文件运行的代码:

.output stdout          --send output to screen
.echo off
.headers off 
.separator ','
.mode column

.open tmp.db
DROP TABLE IF EXISTS myData;

.import 'C:\2015.csv' myData
.width 4 4 1 6 16 2 6 

.output myData.txt      --send output to file
select * from myData;

.output stdout          --send output back to screen
.print "File was created."

DROP TABLE IF EXISTS myData;
vacuum;
.print "tmp.db vacuum complete"
.print "Type '.exit' or '.quit' to exit SQLite"

.exit

问题是在第一行,我将输出发送到屏幕,我得到一个错误:

错误:未知命令或无效参数:“输出”。输入“.help” 寻求帮助

脚本执行,但它实际上显示了 sql 的结果(并且它也将它们写入文件)。

但是,如果我从 sqlite 控制台运行每个命令,一切都会正常运行。当我使用 .read 从 SQLite 控制台运行它时,我只会收到错误

有什么建议吗?我错过了什么?我检查了 SQLite 网站中的文档,在示例中,他们以相同的方式将输出从控制台切换到文件并返回。

谢谢。

【问题讨论】:

    标签: sqlite


    【解决方案1】:

    我想我找到了问题:

    .output stdout          --send output to screen
    

    显然,--send... 被解释为一个参数。删除--stdout 之后的cmets 解决了这个问题。

    谢谢!

    【讨论】:

      【解决方案2】:

      .output 命令需要一个参数,而不是五个。

      这种形式可以正常工作:

      .output stdout
      

      【讨论】:

        猜你喜欢
        • 2022-07-12
        • 2013-09-18
        • 2021-10-20
        • 1970-01-01
        • 1970-01-01
        • 2013-05-01
        • 2012-06-08
        • 2013-06-13
        • 2012-03-16
        相关资源
        最近更新 更多