0

了解しました。これはおそらく少しばかげているように聞こえます。考えれば考えるほど、馬鹿げた音になります。

背景
私が働いている会社は、約1年前に、彼らのためにいくつかのソフトウェアを作成するために男を雇いました。このソフトウェア(VB6で記述)は、掘削用品メーカー(センサー、ビットなど)向けです。とにかく、ソフトウェアはリグサイトにインストールされ、大量の情報(ビット深度、rpmなど)を提供します。現在、読み取りは10秒ごとに行われ、ファイルに保存されます。(最初はローカルSQLデータベースと言われましたが、それは正しくないことがわかりました。)このファイルはSQLiteデータベースブラウザーでのみ開くことができるようです(テキストエディターで開くと、基本的にゴミが表示されます)。

前進
保存されたデータを取得し、それに基づいて日次レポートを作成するプログラムを作成するために雇われました。当初、情報を保存しているローカルマシンにMySQLデータベースがあると言われました。しかし、最近、そうではないことがわかりました。このファイルに保存されます。SQLiteデータベースブラウザでファイルを開き、.sqlファイルとしてエクスポートできます。これはすべて素晴らしいことです。問題は、私の雇用主はこれをプログラムで行うことを望んでいるということです。

私の質問
このSQLiteファイルをプログラムで.sqlに変換する方法はありますか、またはこの情報をローカルのMySQLデータベースにアップロードするための最良の方法は何ですか?助けてくれてありがとう。

4

2 に答える 2

2

.NET用の[the]SQLiteデータプロバイダーを使用して、その方法でデータを開いて読み取ることを検討しましたか?SQLiteデータベースからデータを簡単に読み取り、MySQLデータベースに書き込むことができます(適切なMySQLデータプロバイダーを使用)。

これが私が過去に使用したSQLiteデータプロバイダーです:http ://sqlite.phxsoftware.com/ 何か新しいもの(またはより良いもの)があるかどうかはわかりません。

于 2012-08-21T14:14:06.730 に答える
0

SQLiteデータベース内のデータの*.sqlファイルダンプを作成する必要があるSQLiteManagerアプリケーションを使用します。結果の*.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("','")+')');

終わり!

PS:それは疑似コードです。私はC#開発者ではありません。

于 2012-08-21T14:47:30.897 に答える