Dear All, I'm new into mysql and has been encountering huge problem in connecting to the database from the c application. The code execute with an error message : Failed to connect to database: Error: Client does not support authentication protocol requested by server; consider upgrading MySQL client Is this a bug?
I'm running the MySql server version 4.1 with server and client both on same computer running on windows XP. I have no problem connecting to the server using root with a windfall password but I cannot connect from the c application below. I have only one user in the server (root,windfall) and has been successful in accessing mysql from the client side except when connecting from a c application. here is the application which I compile using Visual C++ compiler: #include "stdio.h " #include "winsock.h" #include "iostream.h " #include "mysql.h" int main() { MYSQL mysql; MYSQL_ROW row; MYSQL_RES *result; unsigned int num_fields; unsigned int i; int num = 0; int iRetValue = 0; mysql_init(&mysql); //printf("%s",&mysql ); if (!mysql_real_connect(&mysql,"localhost","root","windfall","mysql",3306, NULL,0)) { fprintf(stderr, "Failed to connect to database: Error: \n%s\n", mysql_error(&mysql)); } else { printf("SUCCESS\n"); iRetValue = mysql_query(&mysql, "SELECT * FROM user"); if( iRetValue != 0 ) { printf("Query Not Executed Properly.Please Check The Syntax.\n"); } //here goes the error message :o) else { result = mysql_store_result(&mysql); num = mysql_field_count(&mysql); printf("Number Of Rows :%d\n",num ); num_fields = mysql_num_fields( result); printf("Number Of Coloumns :%d\n",num_fields ); while ((row = mysql_fetch_row(result))) { unsigned long *lengths; lengths = mysql_fetch_lengths(result); for(i = 0; i < num_fields; i++) { printf("[%.*s] \t", (int) lengths[i], row[i] ? row[i] : "NULL"); } printf("\n"); } } } } I would appreciate if you guys can help. thanks. Elizabeth -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]