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]

Reply via email to