基本的にMySQL用のConnector Cドライバを使用してMySQLデータベースに接続しようとしています。私はLinuxシステム上でNetbeansにコードを書いています。しかし、ここでは謎です:私は自分のデータベースにデバッグモードでは接続できますが、リリースモードではありませんか? Linux上でIDEとしてNetbeansを使用しています。すべてのライブラリをセットアップし、プロジェクトプロパティのドロップダウンを使用してフォルダを組み込むので、プロパティがDebug ConfigurationとRelease Configurationに適用されます。デバッグでは実行しますが、実行時には実行しません - ???私はあなたの実際の接続コードを表示するコードを簡素化:私はデバッグでそれを実行するとCでMySQLデータベースに接続するためのLinux上のNetbeans
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;
}
だから、それは「SUCCESS」と他には何を印刷します。私がそれを実行すると、 "成功"と "接続に失敗しました"が表示されます。私は迷っている。これはIDEの問題でしょうか? Linux上でうまく動作するC用の別のIDEがありますか?または、私は何かがかなり明白であることを逃しています
更新: 呼び出すmysql_error()は
を明らかにした "ソケット '/tmp/mysql.sock' を介してローカルのMySQLサーバーに接続できません(2)"
なぜ明らか 'プット(mysql_error(mysqlの))上のソケットを作成するには、サーバーの設定を変更することです;' ?? – e4c5
HaHa !!あなたはC/MySQLのnoobを扱っているので、明らかにメニューにはありません;しかし、あなたの提案はいくつかの新しい陰謀を作り出しました。エラーは "ローカルMySQLサーバに接続できません '/tmp/mysql.sock'(2)"というエラーが表示されます。だから私はソケットの問題があるように見えます。私がGoogleマシンを掘り下げている間に、あなたがこれについて何か知っていれば教えてください。どうも! – sax