我想從SQL Server數據庫中的表導入到SQLite數據庫。不過,我認爲文件tables.sql不完整或不正確。 從SQL Server Management Studio中,我生成一個腳本(tables.sql),只從數據庫中選擇一些表。這個文件看起來像這樣(有兩個表):從.sql導入表到SQLite,不完整SQL
USE [MYDATABASE]
GO
SET IDENTITY_INSERT [dbo].[TABLE_ONE] ON
INSERT [dbo].[TABLE_ONE] ([TABLE_ONE_ID], [TABLE_ONE_MNEMO], [TABLE_ONE_DESC], [AUTO_ANALYSIS], [SCOPE_LEVEL], [IN_ABV], [TABLE_ONE_ORDER], [REPORT_ATA]) VALUES (37, N'GENERAL', N'GENERAL', N'N', 3, 0, 1, N'GEN')
...
GO
...
INSERT [dbo].[TEST_POINT_TYPE] ([TEST_POINT_TYPE_ID], [TEST_POINT_TYPE_MNEMO], [TEST_POINT_TYPE_DESC], [AUTO_ANALYSIS], [SCOPE_LEVEL], [IN_PATM], [TEST_POINT_TYPE_ORDER], [REPORT_ATA]) VALUES (207, N'LDMCR', N'LDMCR', N'N', 1, 1, 999, N'70')
SET IDENTITY_INSERT [dbo].[TABLE_ONE] OFF
SET IDENTITY_INSERT [dbo].[TABLE_TWO] ON
INSERT [dbo].[TABLE_TWO] ([TBT_ID], [TABLE_ONE_ID], [SUBPROGRAM_ID], [VALUE], [DESCRIPTION], [ETE], [SUBPROGRAM_CONTEXT], [IS_HOHO], [TEST_VISIBLE], [COMPLETION_ONLY], [CUPTER_NM_CHECKED_WORD], [CUPTER_NM_CHECKED_MAIN], [CUPTER_NM_CHECKED_MORE]) VALUES (1, NULL, 5, NULL, N'Air conditioning checks', N'21', NULL, NULL, NULL, NULL, NULL, NULL, NULL)
...
GO
...
INSERT [dbo].[TABLE_TWO] ([TBT_ID], [TABLE_ONE_ID], [SUBPROGRAM_ID], [VALUE], [DESCRIPTION], [ETE], [SUBPROGRAM_CONTEXT], [IS_HOHO], [TEST_VISIBLE], [COMPLETION_ONLY], [CUPTER_NM_CHECKED_WORD], [CUPTER_NM_CHECKED_MAIN], [CUPTER_NM_CHECKED_MORE]) VALUES (39, NULL, 5, NULL, N'Auto call-outs', N'31', NULL, NULL, NULL, NULL, NULL, NULL, NULL)
SET IDENTITY_INSERT [dbo].[TABLE_TWO] OFF
現在,如果我嘗試使用以下命令:
cat tables.sql | sqlite3 MYDATABASE.db
我有以下聲明
Error: incomplete SQL: ▒▒U
我想的東西在tables.sql文件中丟失了,我試圖在開頭添加這個:
CREATE DATABASE IF NOT EXISTS [MYDATABASE]
但它沒有改變任何東西。我可以更改/添加什麼來完成tables.sql文件?那麼這裏只是兩個表格的例子,實際上我有更多的表格和項目。
謝謝你的幫助。
不SQlite的真正接受SQL Server語法? – jarlh
嗯,我真的不知道。我正在尋找一種解決方案將這些數據導入到SQLite數據庫中,而此時我還沒有找到另一種「簡單」的方法。從.sql文件導入數據似乎是最常見的方式。 編輯:現在,如果你知道我需要在語法上改變什麼,那將是完美的 – LaPalme
我不太瞭解SQlite。 (我只是認識到SQL Server風格的語法。) – jarlh