DotNet Almost Embedded MySQL Server
Stworzyliśmy prosty wrapper do uruchamiania lokalnego serwera MySQL. Dzięku temu aplikacje mogą korzystać z zalet silnika MySQL a jednocześnie nie jest wymagana skomplikowana instalacja u klienta.
Biblioteka pobiera przenośny (portable) serwer MySQL korzystając z projektu Uniform Server Project, szuka pierwszego wolnego portu, konfiguruje i uruchamia serwer. Dodatkowo posiada metody do wczytania zrzutu bazy (mysql dump) oraz tworzenia/usuwania baz i wykonywania zapytań. Jedyne co jest potrzebne to podanie ścieżki do folderu gdzie serwer może trzymać dane. Biblioteka korzysta z MySql.Data i DotNetZip.
Przykład użycia:
class Program { static void Main(string[] args) { var assemblyLocation = System.Reflection.Assembly.GetExecutingAssembly().Location; var assemblyDirectory = Path.GetDirectoryName(assemblyLocation); if (assemblyDirectory == null) { Console.WriteLine("Cannot get assembly directory path"); return; } var serverPath = Path.Combine(assemblyDirectory, "mysql"); var mysqlServer = new MySqlServer(serverPath); mysqlServer.Start(); Console.WriteLine("MySQL server started on port {0}", mysqlServer.GetPort()); const string dbName = "simpletest1"; mysqlServer.CreateDatabase(dbName); Console.WriteLine("Database {0} created", dbName); Console.WriteLine("Press any key to stop server\n"); Console.ReadKey(); mysqlServer.DropDatabase(dbName); Console.WriteLine("Database {0} dropped", dbName); mysqlServer.Stop(); Console.WriteLine("MySQL server stopped"); Console.WriteLine("Press any key to exit\n"); Console.ReadKey(); } }
Bibliotekę można pobrać na CodePlex: DotNet Almost Embedded MySQL Server.