【发布时间】:2015-12-09 18:44:33
【问题描述】:
我正在开发一个 WPF 应用程序。
我创建了一个本地 SQLite 数据库(使用 System.Data.SQLite):
SQLiteConnection conn = new SQLiteConnection("Data Source=test.db");
并且需要用位于服务器中的 MySQL 数据库填充它。我已经从服务器下载了 .sql 转储文件,问题是我如何将这个文件导入本地数据库?
我已经在网上搜索了这个question 问题是这个提到android...
欢迎提供任何信息。
更新 1: 打开 .sql 文件并执行 SQLite 命令不会导入 .sql,这是我的代码:
string lines = "";
try
{
using (StreamReader sr = new StreamReader(databaseFile))
{
lines += sr.ReadToEnd();
}
} catch (Exception)
{
}
SQLiteConnection conn = new SQLiteConnection("Data Source=test.db");
conn.Open();
var command = conn.CreateCommand();
command.CommandText = lines;
command.ExecuteNonQuery();
conn.Close();
应用程序崩溃并出现下一个错误:
附加信息:SQL 逻辑错误或缺少数据库
“AUTO_INCREMENT”附近:语法错误
【问题讨论】:
-
可能重复 - stackoverflow.com/questions/1191375/… 打开与 SQLite 的连接并执行 SQL 文件。
-
@juanvan 它没有帮助
-
如果您想继续沿 SQL 路径前进,则必须编辑 SQL,因为 SQLite 的 SQL 与 MySQL 的不同(请参阅sqlite.org/lang.html)。对于您看到的每个“语法错误”,您都必须采取一些补救措施;在此过程中,您可能需要更多地了解 MySQL 的 SQL。我还将使用 sqlite3(命令行解释器)作为该过程的一部分。如果可以接受,一个更简单的替代方法可能是先导出到 TSV,然后再导入。
标签: c# wpf sqlite sqlite-net