dbTalk Databases Forums  

why donn't work mysql_real_connect

mailing.database.mysql-plusplus mailing.database.mysql-plusplus


Discuss why donn't work mysql_real_connect in the mailing.database.mysql-plusplus forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
mm
 
Posts: n/a

Default why donn't work mysql_real_connect - 06-24-2005 , 09:30 AM






Dear friends,
This is my first cpp module working with mySQL.
It looks like the error is located in
MYSQL *m=mysql_real_connect(myDB, host, user, passwd, ...
There is a way to find out step by step which parameters is wrong?
I am working with Fedora core 3
and MySQL 3.23.58
Thanks,
MT

++++++++++++++++++ CPP module +++++++++++++++++++++++++++++++++++++++
#include "/usr/include/mysql/mysql.h"


int modulMySQL() {
printf("modulMySQL 01\n"); fflush(stdout);
// MYSQL *mysql_init(MYSQL *mysql)
// ===========================================
MYSQL *myDB;
MYSQL *mysql_init(myDB);
printf("modulMySQL 02\n"); fflush(stdout);


// MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char
// *user, const char *passwd, const char *db, unsigned int port,
// const char *unix_socket, unsigned long client_flag)
// ================================================== ==================
char *host=NULL, user[]="myname", passwd[]="mypass";
char db[]="ro";


unsigned int port=3306;
const char *unix_socket=NULL;
unsigned long client_flag=0;
MYSQL *m=mysql_real_connect(myDB, host, user, passwd,
db, port, unix_socket, client_flag);

printf("modulMySQL 03\n"); fflush(stdout);

// int mysql_ping(MYSQL *mysql)
// ===================================
int p=mysql_ping(myDB);
printf("Return Values - Zero if the server is alive.p=[%i]\n", p);

}

+++++++++++++++++++++ Compilation & Execution +++++++++++++++++++
CFG=/usr/lib/mysql/mysql_config
sh -c "gcc -o myC `$CFG --cflags` -lstdc++ 01.cpp `$CFG --libs`"
../myC > 01_out.txt

++++++++++++++++++++++++++ 01_out.txt ++++++++++++++++++++++++++
modulMySQL 01
modulMySQL 02



--
MySQL++ Mailing List
For list archives: http://lists.mysql.com/plusplus
To unsubscribe: http://lists.mysql.com/plusplus?unsu...ie.nctu.edu.tw


Reply With Quote
  #2  
Old   
Arlis Rose
 
Posts: n/a

Default Re: why donn't work mysql_real_connect - 06-30-2005 , 01:28 PM






See code at bottom:

"mm" <mt1900 (AT) rdslink (DOT) ro> wrote

Quote:
Dear friends,
This is my first cpp module working with mySQL.
It looks like the error is located in
MYSQL *m=mysql_real_connect(myDB, host, user, passwd, ...
There is a way to find out step by step which parameters is wrong?
I am working with Fedora core 3
and MySQL 3.23.58
Thanks,
MT

++++++++++++++++++ CPP module +++++++++++++++++++++++++++++++++++++++
#include "/usr/include/mysql/mysql.h"


int modulMySQL() {
printf("modulMySQL 01\n"); fflush(stdout);
// MYSQL *mysql_init(MYSQL *mysql)
// ===========================================
MYSQL *myDB;
MYSQL *mysql_init(myDB);
printf("modulMySQL 02\n"); fflush(stdout);


// MYSQL *mysql_real_connect(MYSQL *mysql, const char *host, const char
// *user, const char *passwd, const char *db, unsigned int port,
// const char *unix_socket, unsigned long client_flag)
// ================================================== ==================
char *host=NULL, user[]="myname", passwd[]="mypass";
char db[]="ro";


unsigned int port=3306;
const char *unix_socket=NULL;
unsigned long client_flag=0;
MYSQL *m=mysql_real_connect(myDB, host, user, passwd,
db, port, unix_socket, client_flag);

printf("modulMySQL 03\n"); fflush(stdout);

// int mysql_ping(MYSQL *mysql)
// ===================================
int p=mysql_ping(myDB);
printf("Return Values - Zero if the server is alive.p=[%i]\n", p);

}

+++++++++++++++++++++ Compilation & Execution +++++++++++++++++++
CFG=/usr/lib/mysql/mysql_config
sh -c "gcc -o myC `$CFG --cflags` -lstdc++ 01.cpp `$CFG --libs`"
./myC > 01_out.txt

++++++++++++++++++++++++++ 01_out.txt ++++++++++++++++++++++++++
modulMySQL 01
modulMySQL 02
Hey, hopefully this will help you out, just cut and pasted some old code I
had for determining which connection parameter is messing up.
MYSQL * connEmail = mysql_init(NULL); //Fleming server is 142.237.42.101

if (!mysql_real_connect(connEmail, myIP, aVAR, bVAR, cVAR, 3306, NULL, 0)) {

//AfxMessageBox("There was an error connecting to the database");

//if (mysql_errno(connEmail)== CR_CONN_HOST_ERROR)

// AfxMessageBox("Failed to connect to the MySQL server.");

//else if (mysql_errno(connEmail)== CR_CONNECTION_ERROR)

// AfxMessageBox("Failed to connect to the local MySQL server.");

//else if (mysql_errno(connEmail)== CR_IPSOCK_ERROR)

// AfxMessageBox("Failed to create an IP socket.");

//else if (mysql_errno(connEmail)== CR_OUT_OF_MEMORY)

// AfxMessageBox("Out of memory.");

//else if (mysql_errno(connEmail)== CR_SOCKET_CREATE_ERROR)

// AfxMessageBox(" Failed to create a Unix socket.");

//else if (mysql_errno(connEmail)== CR_UNKNOWN_HOST)

// AfxMessageBox("Failed to find the IP address for the hostname.");

//else if (mysql_errno(connEmail)== CR_VERSION_ERROR)

// AfxMessageBox("A protocol mismatch resulted from attempting to connect to
a server with a client library that uses a different protocol version. This
can happen if you use a very old client library to connect to a new server
that wasn't started with the --old-protocol option.");

//else if (mysql_errno(connEmail)== CR_NAMEDPIPEOPEN_ERROR)

// AfxMessageBox("Failed to create a named pipe on Windows.");

//else if (mysql_errno(connEmail)== CR_NAMEDPIPEWAIT_ERROR)

// AfxMessageBox(" Failed to wait for a named pipe on Windows.");

//else if (mysql_errno(connEmail)== CR_NAMEDPIPESETSTATE_ERROR)

// AfxMessageBox("Failed to get a pipe handler on Windows.");

//else if (mysql_errno(connEmail)== CR_SERVER_LOST)

// AfxMessageBox("If connect_timeout > 0 and it took longer than
connect_timeout seconds to connect to the server or if the server died while
executing the init-command.");

mysql_close(connEmail);



BTW - if you are going to leave this debugging section in the code be
smarter than me and create an int equal to mysql_errno(connEmail); and check
that instead of calling the function a million times




--
MySQL++ Mailing List
For list archives: http://lists.mysql.com/plusplus
To unsubscribe: http://lists.mysql.com/plusplus?unsu...ie.nctu.edu.tw



Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.