Klient bazy C biblioteka mysql.h

0

Czy mógłby mi ktoś pomóc i wyjaśnić dlaczego mi to nie działa:

#include <mysql/mysql.h> 
#include <stdio.h> 

int main(){ 

   MYSQL *mysql; 
   MYSQL_ROW row; 
   MYSQL_RES *result; 
    
   unsigned int num_fields; 
   unsigned int i; 

   mysql=mysql_init(NULL); 

   if (!mysql_real_connect(mysql, "ip", "user", "pass", NULL, 0, NULL, 0)) 
   { 
      fprintf(stderr, "Failed to connect to database: Error: %s\n", 
           mysql_error(mysql)); 
   } 
   else { 
      if(mysql_query(mysql, "SELECT * FROM test")); 
         //here goes the error message :o) 
      else { 
         result = mysql_store_result(mysql); 
         num_fields = mysql_num_fields(result); 
         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"); 
         } 
      } 
   }
   
   mysql_close(mysql); 

   return 0; 

}

W wyniku wykonania programu dostaje błąd: Lost connection to MySQL server at 'reading initial communication packet', system error: 0

Serwer działa na 100% bo mogę się podłączyć przez SqlDeveloper. System Ubuntu. Czy ma ktoś pomysł co jest grane?

0

Sprawdź czy przypadkiem nie masz zbyt nowego lub zbyt starego klienta.

0
_13th_Dragon napisał(a):

Sprawdź czy przypadkiem nie masz zbyt nowego lub zbyt starego klienta.

A jak to sprawdzić??

0

http://bit.ly/18SLfqI

Sprawdź też czy prypadkiem lokalny lub na serwerze firewall cię połączenie nie zarzyna.

0

Ściągnąłem najnowszą wersje connectora i nadal to samo. Mogę pingować serwer więc połączenie jest możliwe. Do tego SQLDeveloper działa i łączy się bez problemu.

0

Już wiem co było nie tak... Baza jednak jest na Oracle. Przeżuciłem się na OCILIB i teraz moje pytanie: Jak zrobić by polskie znaki były obsługiwane? Ja pobieram z bazy to litery pozbawiane są ogonków. A jak w stawiam to zamiast polskich liter jest ?. Jak to naprawić?

1 użytkowników online, w tym zalogowanych: 0, gości: 1