好吧,这可能听起来有点傻。我想的越多,听起来越傻。
背景:
我工作的公司大约一年前聘请了一个人为他们写一些软件。该软件(用VB6编写)适用于钻井用品制造商(传感器,钻头等)。无论如何,该软件安装在钻机现场,并提供过多的信息(钻头深度,转速等)。现在,每10秒读取一次,并保存到文件中。 (我最初被告知当地的一个SQL数据库,但事实证明这是错误的。)这个文件显然只能在SQLite数据库浏览器中打开(在任何文本编辑器中打开它都会导致查看垃圾,基本上)。
前进:
我被聘请编写一个程序来获取保存的数据,并根据它创建每日报告。最初,有人告诉我,本地机器上有一个存储信息的MySQL数据库。但是,我最近才发现事实并非如此。它存储在此文件中。我可以在SQLite数据库浏览器中打开该文件,并将其导出为.sql文件,这一切都很棒。问题是,我的雇主希望以编程方式完成此操作。
我的问题:
有没有办法以编程方式将此SQLite文件转换为.sql,或者将此信息上传到本地MySQL数据库的最佳途径是什么?非常感谢您的帮助。
答案 0 :(得分:2)
您是否考虑过只使用.NET的SQLite数据提供程序并以这种方式打开和读取数据?您可以轻松地从SQLite数据库中读取数据,并将其写入MySQL数据库(使用适当的MySQL数据提供程序)。
以下是我过去使用的SQLite数据提供程序:http://sqlite.phxsoftware.com/我不确定是否有更新的(或更好的)。
答案 1 :(得分:0)
使用SQLite Manager应用程序对SQLite数据库中的数据进行* .sql文件转储。将生成的* .sql文件导入MySQL数据库。
编写将使用此代码的C#脚本:
sqlite_db_handler.query('SELECT * FROM dbname.sqlite_master WHERE type='table'');
获取SQLite数据库中所有表的列表。
遍历每个表并使用以下代码:
sqlite_db_handler.query('SELECT * FROM '+table_name);
使用以下代码迭代每个结果行:
mysql_db_handler.query('REPLACE INTO '+table_name+' VALUES('+row.join("','")+')');
完成!
P.S。:这是伪代码我不是C#开发人员。