SQLite .output stdout

时间:2014-04-30 16:46:20

标签: sqlite

我正在尝试将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网站上的文档,在提供的示例中,他们将输出从控制台切换到文件并以相同的方式返回。

谢谢。

2 个答案:

答案 0 :(得分:4)

我想我发现了问题:

.output stdout          --send output to screen

显然,--send...被解释为一个参数。在--修复问题后删除stdout和评论。

谢谢!

答案 1 :(得分:2)

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

此表单可以正常使用:

.output stdout