試圖將SqlCe數據庫轉換爲SQLite,我將其導出到.sql
文件。現在我將如何使用sqlite.exe
從這個.sql
文件創建數據庫?如何使用sqlite3.exe從導出的.sql腳本創建數據庫
把sql3.exe
文件放在哪裏?
在cmd提示符或sqlite.exe
shell中使用什麼命令語法?
試圖將SqlCe數據庫轉換爲SQLite,我將其導出到.sql
文件。現在我將如何使用sqlite.exe
從這個.sql
文件創建數據庫?如何使用sqlite3.exe從導出的.sql腳本創建數據庫
把sql3.exe
文件放在哪裏?
在cmd提示符或sqlite.exe
shell中使用什麼命令語法?
把sqlite3.exe
放在任何你想要的地方,只要你記得那個地方,你就可以從那裏開始sqlite3
。
應用腳本到數據庫(可能是新創建的一個),在命令提示符:
sqlite3.exe my-new-db.somesuffix < myscript.sql
互動sqlite3
會話中執行腳本:
sqlite3.exe my-new-db.somesuffix
....
.read myscript.sql
....
兩種變體是有效的,有時可用。 (注意:如果你的.sql
是爲非sqlite數據庫生成的,我預計它需要一些更改才能在sqlite3
中工作,而存儲過程和用戶定義的函數等東西肯定會丟失)。
使用以下命令行:
sqlite3 -init dump.sql newsqlite.db ""
它將由dump.sql
執行語句創建新的SQLite數據庫文件newsqlite.db
。 sqlite3需要空字符串""
才能自動退出。
如果newsqlite.db
文件已經存在某些數據,則導入可能會失敗,除非您對所有表和索引創建語句使用IF NOT EXISTS
。
乾杯!儘管如此,cmd提示符給我的消息:' - 從script.sql加載資源'然後'錯誤:不完整的SQL:| -'(| beeing一個矩形),而同樣的命令sqlite3.exe外殼給了我一個新的行'...>'無論哪種方式沒有太多的錯誤信息,沒有行號,沒有任何東西。這是典型的嗎? – bretddog 2013-02-11 09:29:35
爲了達到這個目的,你的'script.sql'必須是有效的 - 顯然不是。我建議逐行調試你的腳本。在Windows中,您應該安裝[SQLite專用個人](http://www.sqliteexpert。com)並使用此GUI仔細調試您的腳本 - 其中存在錯誤。 – mvp 2013-02-11 17:08:53
謝謝!所以從cmd我得到'錯誤:不完整的SQL:| -',並從sqlite3 shell它只是給出更多'....>'行時,輸入,沒有消息。任何數據庫文件都不會被創建。這就是我所期望的所有錯誤信息嗎? – bretddog 2013-02-09 16:04:42
'不完整的SQL'可能是由sqlite和你的源數據庫之間的語法差異造成的,我們無法在不查看代碼的情況下解決它。在sqlite shell的'....>'提示符下,我認爲你**在'read'之前省略了前導點。它應該是'.read',而不是'read'。 (爲什麼在編輯答案中提供的編輯命令時,每個人都會問自己的問題?) – 2013-02-09 16:22:38
我沒有編輯你的命令,但也許我沒有正確使用它們。我應該在運行這些命令之前創建數據庫嗎?我似乎甚至沒有創建一個空的數據庫,或者不應該在執行你在sqlite3會話中給出的第一行時發生這種情況?或者如何從cmd創建一個空的數據庫? – bretddog 2013-02-09 16:39:41