【问题标题】:How to import .sql dump file from MySQL to SQLite WPF如何将 .sql 转储文件从 MySQL 导入 SQLite WPF
【发布时间】: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


【解决方案1】:

它们是不同的 SQL 方言,因此该解决方案会让您相当头疼。 如果这是一次性活动,我会使用(免费)工具,例如: http://www.sql-workbench.net/

它有一个数据泵工具,可让您跨不同数据库移动数据。

【讨论】:

  • 我只能用php来做这个
猜你喜欢
  • 1970-01-01
  • 2015-09-14
  • 1970-01-01
  • 2011-06-10
  • 2016-10-23
  • 2021-04-11
  • 2011-01-04
  • 2012-03-02
  • 2013-09-06
相关资源
最近更新 更多