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.