自动从批处理文件创建SQLite数据库

时间:2011-04-22 15:15:00

标签: shell sqlite batch-file build

在Windows平台上,我有以下内容:

  • schema.sql(包含sql脚本)
  • sqlite3.exe(sqlite的命令shell - >从sqlite.org下载)
  • build.bat:包含以下行的批处理文件:sqlite3.exe -init schema.sql default.db3

当我运行build.bat时,数据库按预期创建,但是,sqlite shell不会自动终止。那么如何让批处理文件自动运行并终止sqlite命令shell呢?

E.g。输出:

  C:\Work\X\Database>sqlite3.exe -init schema.sql default.db3  
  -- Loading resources from schema.sql  
  SQLite version 3.7.4  
  Enter ".help" for instructions  
  Enter SQL statements terminated with a ";"  
  sqlite>  

6 个答案:

答案 0 :(得分:3)

尝试这样称呼:

echo .quit | sqlite3.exe 

或者将.quit放在文件的末尾。

答案 1 :(得分:2)

似乎(因为您还没有显示其内容)bat文件缺少exit语句。您可以自己添加:

sqlite3.exe -init schema.sql default.db3 .exit

答案 2 :(得分:2)

我遇到了与sqlite3 3.11相同的问题(但没有使用3.8),对我有用的解决方案是:

sqlite3.exe default.db3 < schema.sql

瑞吉斯的答案也很好。

答案 3 :(得分:0)

我同意安德烈的观点。如果这不起作用,请尝试在schema.sql

末尾的单独行中添加“quit”

我希望这会有所帮助。

答案 4 :(得分:0)

尝试改为:

type schema.sql | sqlite3 default.db3

答案 5 :(得分:0)

高尔夫安德烈的答案,你也可以运行:

echo | sqlite3

EOF即将关闭sqlite3