2011-04-22 110 views
4

在Windows平臺上,我有以下自動化SQLite數據庫的創建:
schema.sql文件(包含SQL腳本)
sqlite3.exe(SQLite的命令shell - >從源碼下載。 ORG)
的build.bat:與行的批處理文件:sqlite3.exe -init schema.sql文件default.db3從一個批處理文件

當我運行的build.bat,創建數據庫如預期,但是,SQLite的外殼沒有按不會自動終止。那麼如何讓批處理文件運行並自動終止sqlite命令行?

E.g.輸出

C:\工作\ X \數據庫> sqlite3.exe -init schema.sql文件default.db3
- 從schema.sql文件加載資源
SQLite的版本3.7.4
輸入 「幫助」 爲指令
輸入以「;」結尾的SQL語句
sqlite的>

+0

你可以發佈build.bat文件嗎? – 2011-04-22 15:23:47

+0

該批處理文件包含以下唯一條目:sqlite3.exe -init schema.sql default.db3 – Eminem 2011-04-22 15:26:26

回答

2

嘗試調用它像:

echo .quit | sqlite3.exe 

或把.quit在文件的結尾。

+0

echo .quit | sqlite3.exe -init schema.sql default.db3 – Eminem 2011-04-22 15:39:50

+0

這對我有用。儘管如此,將.quit放在文件末尾並沒有。 – krs013 2014-03-08 21:38:41

0

我同意安德烈。如果這不起作用,請嘗試在schema的末尾的單獨行上添加「quit」。我希望這有助於。

0

嘗試,而不是:

type schema.sql | sqlite3 default.db3 
0

高爾夫安德烈的回答,您還可以運行:

echo | sqlite3 

EOF是要關閉sqlite3的

2

看來(因爲你還沒有顯示出其內容)bat文件缺少exit語句。您可以自己添加:

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

請解釋一下答案。 – 2016-01-14 17:19:25

1

我曾與sqlite3的3.11同樣的問題(而不是3.8),併爲我工作的解決方案是:

sqlite3.exe default.db3 < schema.sql 

而紅塔的答案精細的工作,以及。

相關問題