好吧,这听起来可能有点傻。我想得越多,听起来就越傻。
背景
我工作的公司一年前雇了一个人为他们写软件。该软件(用VB6编写)是为钻井用品制造商(传感器、钻头等)编写的。无论如何,该软件是安装在一个钻井网站,并提供了大量的信息(位深度,rpms等)。现在,每10秒进行一次读取,并保存到一个文件中。(最初有人告诉我一个本地SQL数据库,但事实证明这是不正确的。)这个文件显然只能在SQLite数据库浏览器中打开(在任何文本编辑器中打开它,本质上都会导致垃圾)。
前进
我被雇来编写一个程序,接收保存的数据,并在此基础上创建每日报告。最初,我被告知在本地机器上有一个MySQL数据库来存储信息。不过,我最近才发觉情况并非如此。它存储在这个文件中。我可以在SQLite数据库浏览器中打开该文件,并将其作为.sql文件导出,这一切都很棒,诸如此类。问题是,我的雇主希望以编程的方式完成这件事。
我的问题
是否有一种以编程方式将此SQLite文件转换为.sql的方法,或者将此信息上载到本地MySQL数据库的最佳途径是什么?非常感谢你的帮助。
发布于 2012-08-21 14:14:06
您是否考虑过只使用SQLite数据提供程序进行.NET,并以这种方式打开和读取数据?您可以轻松地从SQLite数据库中读取数据,并将其写入MySQL数据库(使用适当的MySQL数据提供程序)。
下面是我在过去使用过的SQLite数据提供程序:http://sqlite.phxsoftware.com/,我不确定是否有更新(或更好)的东西。
发布于 2012-08-21 14:47:30
使用SQLite管理器应用程序,您必须对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("','")+')');完成了!
这是伪代码,我不是C#开发人员。
https://stackoverflow.com/questions/12056721
复制相似问题