1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
int ConnectSybase (CS_CONTEXT **contexte, CS_CONNECTION **connexion, CS_COMMAND **commande,
char *user, char *passwd, char *server)
{
/* Allocation d'une structure de contexte (pour la version 12.5) */
if (cs_ctx_alloc (CS_VERSION_125, contexte) != CS_SUCCEED)
return (ERREUR_SYB_CONTEXTE);
/* Initialisation d'Open Client */
if (ct_init (*contexte, CS_VERSION_125) != CS_SUCCEED)
return (ERREUR_SYB_CONTEXTE);
/* Installation des CallBack */
ct_callback (*contexte, NULL, CS_SET, CS_CLIENTMSG_CB, (CS_VOID *)ClientMsg_Callback);
ct_callback (*contexte, NULL, CS_SET, CS_SERVERMSG_CB, (CS_VOID *)ServMsg_Callback);
/* Connexion au serveur */
ct_con_alloc(*contexte, connexion);
ct_con_props(*connexion, CS_SET, CS_USERNAME, user, CS_NULLTERM, NULL);
ct_con_props(*connexion, CS_SET, CS_PASSWORD, passwd, CS_NULLTERM, NULL);
/* properties de la connexion : mode asynchrone */
if (ct_con_props(*connexion, CS_SET, CS_ASYNC_NOTIFS, (CS_VOID*)CS_TRUE, CS_UNUSED, NULL) != CS_SUCCEED)
{
printf("ct_con_props ASYNCHRONOUS failed\n");
fflush(stdout);
return ERREUR_SYB_CONNEXION;
}
/* Creation de la connexion au serveur */
if (ct_connect(*connexion, server, CS_NULLTERM) != CS_SUCCEED)
return(ERREUR_SYB_CONNEXION);
/* Allocation d'une structure de commande pour envoyer des commandes */
if (ct_cmd_alloc(*connexion, commande) != CS_SUCCEED)
return(ERREUR_SYB_COMMANDE);
return (OK);
} |
Partager