version 1.21, 2011/06/20 17:54:22
|
version 1.71, 2021/03/13 12:50:53
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.1.0.prerelease.1 |
RPL/2 (R) version 4.1.33 |
Copyright (C) 1989-2011 Dr. BERTRAND Joël |
Copyright (C) 1989-2021 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 42 parametres_sql(struct_processus *s_etat_
|
Line 42 parametres_sql(struct_processus *s_etat_
|
|
|
struct_objet *s_connecteur; |
struct_objet *s_connecteur; |
|
|
unsigned char *base; |
|
unsigned char *locale; |
unsigned char *locale; |
unsigned char *mot_de_passe; |
|
unsigned char *serveur; |
|
unsigned char *sport; |
|
unsigned char *type_base; |
unsigned char *type_base; |
|
unsigned char *serveur; |
|
# if defined(MYSQL_SUPPORT) || defined(POSTGRESQL_SUPPORT) |
|
unsigned char *base; |
unsigned char *utilisateur; |
unsigned char *utilisateur; |
|
unsigned char *mot_de_passe; |
|
# ifdef POSTGRESQL_SUPPORT |
|
unsigned char *sport; |
|
# endif |
|
|
unsigned int port; |
unsigned int port; |
|
# endif |
|
|
if ((*s_parametres).type != LST) |
if ((*s_parametres).type != LST) |
{ |
{ |
Line 72 parametres_sql(struct_processus *s_etat_
|
Line 76 parametres_sql(struct_processus *s_etat_
|
return(NULL); |
return(NULL); |
} |
} |
|
|
if ((type_base = conversion_majuscule((unsigned char *) |
if ((type_base = conversion_majuscule(s_etat_processus, (unsigned char *) |
(*(*l_element_courant).donnee).objet)) == NULL) |
(*(*l_element_courant).donnee).objet)) == NULL) |
{ |
{ |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
(*s_etat_processus).erreur_systeme = d_es_allocation_memoire; |
Line 92 parametres_sql(struct_processus *s_etat_
|
Line 96 parametres_sql(struct_processus *s_etat_
|
*/ |
*/ |
|
|
if ((strcmp(type_base, "MYSQL") != 0) && |
if ((strcmp(type_base, "MYSQL") != 0) && |
(strcmp(type_base, "POSTGRESQL") != 0)) |
(strcmp(type_base, "POSTGRESQL") != 0) && |
|
(strcmp(type_base, "SQLITE") != 0)) |
{ |
{ |
(*s_etat_processus).erreur_execution = d_ex_argument_invalide; |
(*s_etat_processus).erreur_execution = d_ex_argument_invalide; |
return(NULL); |
return(NULL); |
Line 155 parametres_sql(struct_processus *s_etat_
|
Line 160 parametres_sql(struct_processus *s_etat_
|
|
|
serveur = (unsigned char *) (*(*l_element_courant).donnee).objet; |
serveur = (unsigned char *) (*(*l_element_courant).donnee).objet; |
|
|
|
// Dans le cas d'une base de données SQLite, seul le nom du fichier |
|
// importe. |
|
|
|
if (strcmp(type_base, "SQLITE") == 0) |
|
{ |
|
if ((*l_element_courant).suivant != NULL) |
|
{ |
|
liberation(s_etat_processus, s_connecteur); |
|
(*s_etat_processus).erreur_execution = d_ex_argument_invalide; |
|
return(NULL); |
|
} |
|
|
|
(*((struct_connecteur_sql *) (*s_connecteur).objet)).descripteur.sqlite |
|
= NULL; |
|
|
|
if (sqlite3_open_v2(serveur, &((*((struct_connecteur_sql *) |
|
(*s_connecteur).objet)).descripteur.sqlite), |
|
SQLITE_OPEN_READWRITE, NULL) != SQLITE_OK) |
|
{ |
|
if ((*((struct_connecteur_sql *) (*s_connecteur).objet)) |
|
.descripteur.sqlite != NULL) |
|
{ |
|
sqlite3_close((*((struct_connecteur_sql *) |
|
(*s_connecteur).objet)).descripteur.sqlite); |
|
} |
|
|
|
liberation(s_etat_processus, s_connecteur); |
|
(*s_etat_processus).erreur_execution = d_ex_erreur_sql; |
|
return(NULL); |
|
} |
|
|
|
return(s_connecteur); |
|
} |
|
else |
|
{ |
|
# if !(defined(MYSQL_SUPPORT) || defined(POSTGRESQL_SUPPORT)) |
|
if ((*s_etat_processus).langue == 'F') |
|
{ |
|
printf("+++Attention : Support de %s non compilé !\n", type_base); |
|
} |
|
else |
|
{ |
|
printf("+++Warning : %s support not available !\n", type_base); |
|
} |
|
# endif |
|
} |
|
|
|
# if defined(MYSQL_SUPPORT) || defined(POSTGRESQL_SUPPORT) |
// Recherche du nom de la base de données |
// Recherche du nom de la base de données |
|
|
l_element_courant = (*l_element_courant).suivant; |
l_element_courant = (*l_element_courant).suivant; |
Line 289 parametres_sql(struct_processus *s_etat_
|
Line 342 parametres_sql(struct_processus *s_etat_
|
} |
} |
|
|
fflush(stdout); |
fflush(stdout); |
|
|
|
(*s_etat_processus).erreur_execution = d_ex_instruction_indisponible; |
# endif |
# endif |
} |
} |
else if (strcmp((*((struct_connecteur_sql *) (*s_connecteur).objet)).type, |
else if (strcmp((*((struct_connecteur_sql *) (*s_connecteur).objet)).type, |
Line 338 parametres_sql(struct_processus *s_etat_
|
Line 393 parametres_sql(struct_processus *s_etat_
|
} |
} |
|
|
fflush(stdout); |
fflush(stdout); |
|
|
|
(*s_etat_processus).erreur_execution = d_ex_instruction_indisponible; |
# endif |
# endif |
} |
} |
else |
else |
Line 346 parametres_sql(struct_processus *s_etat_
|
Line 403 parametres_sql(struct_processus *s_etat_
|
(*s_etat_processus).erreur_execution = d_ex_argument_invalide; |
(*s_etat_processus).erreur_execution = d_ex_argument_invalide; |
return(NULL); |
return(NULL); |
} |
} |
|
# endif |
|
|
return(s_connecteur); |
return(s_connecteur); |
} |
} |