00001
00011 #include "mysql_tool.h"
00012
00013
00014 MYSQL* sql_open(char* hostname, char* dbname, char* username, char* passwd, unsigned int tmot)
00015 {
00016 MYSQL* mysql;
00017 MYSQL* cnnct;
00018
00019 Buffer host;
00020 unsigned short port;
00021
00022 if (hostname==NULL || dbname==NULL || username==NULL || passwd==NULL) return NULL;
00023
00024 Buffer wrk = make_Buffer_bystr(hostname);
00025 decomp_hostport(wrk, &host, &port);
00026 free_Buffer(&wrk);
00027 if (host.buf==NULL) return NULL;
00028
00029 if (tmot==0) tmot = SQL_DEFAULT_TIMEOUT;
00030
00031 mysql = mysql_init(NULL);
00032 if (mysql==NULL) return NULL;
00033
00034 if (file_exist(SQL_CONF_FILE)) {
00035 mysql_options(mysql, MYSQL_READ_DEFAULT_FILE, SQL_CONF_FILE);
00036 }
00037 mysql_options(mysql, MYSQL_OPT_CONNECT_TIMEOUT, (char*)&tmot);
00038
00039 cnnct = mysql_real_connect(mysql, (char*)host.buf, username, passwd, dbname, (int)port, NULL, 0);
00040 if (cnnct==NULL) {
00041 mysql_close(mysql);
00042 mysql = NULL;
00043 return NULL;
00044 }
00045
00046 return mysql;
00047 }
00048
00049
00050 void sql_close(MYSQL* mysql)
00051 {
00052 if (mysql!=NULL) mysql_close(mysql);
00053
00054 return;
00055 }
00056