2011-06-21 89 views
1

我有C#編寫的一個winform應用。我的數據庫站在MySql中。現在我想讓它在其他機器上部署,而不必在每臺機器上單獨/安裝一個mysql。請給我建議,我可以將MySql數據庫與應用程序一起放入一個安裝程序中,而無需在每臺計算機上安裝mysql。或者,如果它不可能在MySql中,我可以遷移它在Sqlite。請指點我的相關資源。創建安裝程序包與MySQL C#

我看到的在此之前主板相似的問題,但他們都不是在他們的解決方案清楚。

感謝

回答

2

當遇到類似的情況,我只是附帶的應用程序中的MySQL分發(這是供內部使用,你可能需要一個許可證商業銷售的MySQL)。

這裏就是我所做的:

  • 我安裝一個MySQL服務器在本地機器上。我對其進行了配置,以便數據文件夾和配置文件與MySQL服務器的其餘部分位於同一文件夾中。然後我創建了數據庫,一個用戶,並用相關數據填充了數據庫。
  • 我在安裝程序中包含了整個MySQL文件夾。安裝程序將簡單地將此文件夾複製到應用程序的目標文件夾。
  • 然後我可以啓動MySQL這樣的:{app_folder}\mysql\bin\mysqld.exe --defaults-file="{app_folder}\my.ini"。要停止我使用的MySQL:{app_folder}\mysql\bin\mysqladmin.exe -u youruser -p yourpassword shutdown。你可以讓你的應用程序檢查MySQL是否正在運行,如果沒有,就啓動它。

這可能不是最好的解決方案,因爲任何人都可以很容易地訪問數據庫。另外我無法確認這是否適用於當前版本的MySQL(您可能需要在配置文件中指定數據文件夾)。如果數據庫僅由您的應用程序使用,SQLite可能是更好的選擇。

+0

先生您好,我現在也面臨着同樣的問題。我有2個.exe文件一個用於客戶端機器,第二個用於管理員機器都是網絡連接的。我已經用SQLite db開發了WPF窗口應用程序。我怎樣才能從管理員機器訪問數據庫到其他客戶機? – lashja

+0

我已經用SQLite db開發了WPF窗口應用程序。或者,如果它不可能在Sqlite我可以遷移它在MySql中。我是否需要許可證(付費)才能在商業上分發MySQL?我無法使用付費的數據庫。實際上,我希望它可以在其他機器上部署,而不必在每臺機器上單獨/安裝一個mysql。 – lashja