Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > mysql_server_init в C# (libmysqld.dll)


Автор: eiffil 9.3.2008, 00:25
Как можно поюзать функцию mysql_server_init в c#?
Делаю так:
Код

public sealed class MySql
  {
    [DllImport("libmysqld.dll", EntryPoint="mysql_server_init", ExactSpelling=true)]
    public static unsafe extern int mysql_server_init(int argc, string[10]* argv, string* groups[10]);

    [DllImport("libmysqld.dll", EntryPoint="mysql_server_end", ExactSpelling=true)]
     public static unsafe extern void mysql_server_end();
  }

Потом вызов в программе следующий:
Код

mysql_server_init(0, IntPtr.Zero, IntPtr.Zero);

и программа закрывается без всяких предупреждений...

В libmysqld.dll функция выглядит так:
Код

int mysql_server_init(int argc, char **argv, char **groups)

и собственно, пример использования:
Код

static char *server_args[] = {
"this_program", /* эта строка не используется */
"--datadir=.",
"--key_buffer_size=32M"
};

static char *server_groups[] = {
"embedded",
"server",
"this_program_SERVER",
(char *)NULL
};

int main(void) {
mysql_server_init(sizeof(server_args) / sizeof(char *),
server_args, server_groups);


Вот  тут собственно и возникает вопрос, как это дело сделать на c#??? 
P.S. Очень нужно поюзать MySQL embedded в C#

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)