В принципе, я пытаюсь подключиться к базе данных MySQL с помощью драйверов Connector C для MySQL. Я пишу код в Netbeans в системе Linux. Но вот тайна: я могу подключиться к моей базе данных в режиме отладки, но не в режиме деблокирования ??? Я использую Netbeans в качестве моей IDE в Linux, и я создал все библиотеки и включил папки, используя раскрывающийся список в свойствах проекта, поэтому он применяет свойства к настройкам Debug Configuration и Release Configuration, и все же он будет подключаться к базе данных, когда я выполнить в Debug, но не при выполнении в Run - ??? Я упростил код, чтобы показать вам реальный код подключения:Netbeans в Linux для подключения к базе данных MySQL в C
int readDB(void) {
MYSQL *mysql = NULL;
char *server = "localhost";
char *user = "root";
char *password = "";
char *database = "myDB";
int port = 3306;
mysql = mysql_init(mysql);
if (!mysql) {
puts("Init failed, out of memory?");
return EXIT_FAILURE;
} else {
puts("SUCCESS!\n");
}
if (!mysql_real_connect(mysql,server,user,password,database,port,NULL,0)) {
puts("Connect failed\n");
}
return 1;
}
Так что, когда я запускаю его в Debug, он печатает «SUCCESS», и больше ничего. Когда я запускаю его, он печатает «УСПЕХ», за которым следует «Не удалось подключиться». Я в недоумении. Может ли это быть проблемой с IDE? Есть ли еще одна IDE для C, которая хорошо работает на Linux, которую я должен рассмотреть? Или я пропущу что-то совершенно очевидное?
Update: вызова mysql_error() показал
"Не удается подключиться к локальному серверу MySQL через гнездо '/tmp/mysql.sock' (2)"
почему бы не очевидные 'путы (mysql_error (MySQL));' ?? – e4c5
HaHa !! Потому что вы имеете дело с C/MySQL noob и очевидным не является в меню;) Но ваше предложение действительно создало новую интригу. Исправлена ошибка «Не удается подключиться к локальному серверу MySQL через сокет» /tmp/mysql.sock (2) ». Таким образом, похоже, что у меня проблема сокета. Дайте мне знать, если вы знаете что-нибудь об этом, пока я копаю машину Google. Спасибо! – sax