0

私はいくつかの社内管理ソフトウェアを書くことを任されました。このソフトウェアは、オンラインのMySQLデータベースと通信します。ただし、インターネット接続がない場合、システムは代わりにローカルの「オフライン」MySQLデータベースを使用する必要があります。

最初は、リモートのMySQLとローカルのSQLCEを使用してこれを実行しようとしました。残念ながら、クエリ文字列は非常に異なるため、実行できません。

私の質問はそれからです; アプリケーションをロードするときに特定のポートでMySQLのインスタンスを起動し、ソフトウェアを閉じたときにインスタンスをシャットダウンするにはどうすればよいですか?

以前にXAMPPをソフトウェアにバンドルしたことがありますが、この場合、それが正しいアプローチであるかどうかわかりませんか?

ProcessStartInfo test = new ProcessStartInfo(Application.StartupPath + @"mysqldb\bin");
        test.FileName = @"mysqld.exe";
        test.UseShellExecute = true;
        Process.Start(test);
4

3 に答える 3

1

おそらく、MySQL データベース localy と externaly をインストールする必要があります。ソフトウェアのロード中は、ローカル データベースを使用してください。すべて問題がなければ、ローカルをライブ データベースと同期し、データベース リンクをローカルからライブに切り替えます。インターネットがダウンしている場合は、ローカル データベースを使用してデータを保存できる必要があるため、ローカル データベースを停止しないでください。

常にローカルとライブで同期するため、インターネットが稼働している場合は、ライブ データベースだけでなくローカルも使用します。すべてを同期する必要があります。データは常にコンピュータ上に「バックアップ」またはオフライン データベースとして存在し、ライブ データベースにはどこからでもすべてのデータが保存されます。

バッファを使用するため、空白でクエリを緩める必要があります。また、Windows では、service を使用して MySQL を開始および停止できます。

私はあなたの質問のいくつかに答えたことを願っています.

于 2012-06-18T21:22:13.187 に答える
0

質問は今でも古いですが、これが将来的に役立つことを願っています。これはWPFアプリケーションの場合、少し編集が必要であることに注意してください

この名前空間をプロジェクトに追加します。

using System.Diagnostics;

アプリケーション ディレクトリに MySQL サーバーを組み込みます。

YOUR APP DIR
..mysql-server   <=== This is the mysql server directory under your App dir.

イベントではload、mysql サーバーを起動します。

  Process mysqlCMD = new Process();
  mysqlCMD.StartInfo.FileName = Environment.CurrentDirectory + "\\mysql-server\\bin\\mysqld.exe";
  mysqlCMD.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; // This is to hide the black CMD window
  mysqlCMD.Start();

mysql サーバーを停止する必要があるclosing場合は、次回の起動時に問題が発生します。

  Process mysqlCloseCMD = new Process();
  mysqlCloseCMD.StartInfo.FileName = Environment.CurrentDirectory + "\\mysql-server\\bin\\mysqladmin.exe";
  mysqlCloseCMD.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
  mysqlCloseCMD.StartInfo.Arguments = "--user=root shutdown";
  mysqlCloseCMD.Start();
于 2017-09-21T06:39:51.337 に答える
0

たとえば、PathtoMysql は C:\Program Files\MySQL\MySQL Server 5.0\bin のようになります

インストール パスで mysqld.exe を実行して、サーバーを起動します。

MySqlAdmin -u root -p rootpassword Shutdown で停止します

ポート番号はオンになる予定で、my.ini にあります

于 2012-06-18T21:31:14.517 に答える