Hello.
I've compiled your code using libraries and includes from MySQL-4.1.6 (yes, my testing environment isn'tperfect :) and successfully connected to MySQL-4.1.10. Old passwords was off, so I used a 4.1. authorization protocol. Elizabeth Bonifacio <[EMAIL PROTECTED]> wrote: > 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 =3D 0; > int iRetValue =3D 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 =3D mysql_query(&mysql, "SELECT * FROM user"); > > if( iRetValue !=3D 0 ) > { > printf("Query Not Executed Properly.Please Check The Syntax.\n"); > } > //here goes the error message :o) > else > { > result =3D mysql_store_result(&mysql); > > num =3D mysql_field_count(&mysql); > printf("Number Of Rows :%d\n",num ); > > num_fields =3D mysql_num_fields( result); > printf("Number Of Coloumns :%d\n",num_fields ); > > while ((row =3D mysql_fetch_row(result))) > { > unsigned long *lengths; > lengths =3D mysql_fetch_lengths(result); > > for(i =3D 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 > -- For technical support contracts, goto https://order.mysql.com/?ref=ensita This email is sponsored by Ensita.NET http://www.ensita.net/ __ ___ ___ ____ __ / |/ /_ __/ __/ __ \/ / Gleb Paharenko / /|_/ / // /\ \/ /_/ / /__ [EMAIL PROTECTED] /_/ /_/\_, /___/\___\_\___/ MySQL AB / Ensita.NET <___/ www.mysql.com -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]