8 messages in com.mysql.lists.mysqlconnection error from c application
FromSent OnAttachments
Elizabeth Bonifacio23 Jun 2005 02:51 
Gleb Paharenko23 Jun 2005 08:13 
Kishore Jalleda23 Jun 2005 09:52 
Elizabeth Bonifacio24 Jun 2005 01:48 
Gleb Paharenko24 Jun 2005 02:10 
Gleb Paharenko27 Jun 2005 02:13 
Elizabeth Bonifacio29 Jun 2005 03:32.txt
Kristen G. Thorson29 Jun 2005 07:02 
Subject:connection error from c application
From:Elizabeth Bonifacio (betc@gmail.com)
Date:06/23/2005 02:51:17 AM
List:com.mysql.lists.mysql

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