#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include "mysql.h"
int mysql_exec_sql(MYSQL *mysql,const char *create_definition) ;
void GoUnitabCreate(char * cchost, char * ccbase, char * ccuser, char * ccpass);
void inicializa( char *buffer );
char *initchar();
int main( int argc, char *argv[] ) {
char str[80] = {0x00};
const char s[2] = ";";
char *token;
char ccHostName[12]={0x00};
char ccBaseName[12]={0x00};
char ccUserName[12]={0x00};
char ccPassWord[12]={0x00};
int i=0;
printf("\ndbmGetab SQL Init dbmGetab Database on Mariadb\n");
if( argc < 2 ) {
printf("\nError.. Falta parametros separado entre \";\" \r\n");
printf("Por Ejemplo:\r\n");
printf("\n\t dbmGetab localhost;dblaweb;root;admin\r\n");
return(-31);
}
for( i=1; i<argc; i=i+1 ) {
strcat(str, argv[i]);
printf("valores: %s \n", str);
/* strcat(str, " " ); */
}
printf("\n\nvalue of a: %s \n", str);
token = strtok(str, s);
i = 1;
while( token != NULL ) {
switch(i)
{
case 1: /* HOSTNAME */
strcat(ccHostName, token);
printf( "HOSTNAME: %s\n", ccHostName );
break;
case 2: /* DATABASE */
strcat(ccBaseName, token);
printf( "BASENAME: %s\n", ccBaseName );
break;
case 3: /* USER */
strcat(ccUserName, token);
printf( "USERNAME: %s\n", ccUserName );
break;
case 4: /* PASSWORD */
strcat(ccPassWord, token);
printf( "PASSWORD: %s\n", ccPassWord );
break;
default :
printf("Invalid grade\n" );
}
/* printf( " %s\n", token ); */
token = strtok(NULL, s);
i++;
}
GoUnitabCreate( ccHostName, ccBaseName, ccUserName, ccPassWord );
return(0);
}
void GoUnitabCreate(char * cchost, char * ccbase, char * ccuser, char * ccpass) {
MYSQL mysql;
char ccSQL[1000]={0x00};
printf("\n\tISMAEL FARFAN \n\t\t micachiquerido.com.ar/lanc/");
printf("\n\t\farfan890@gmail.com\n");
if ( mysql_init(&mysql)==NULL) {
printf("\nFailed to initate MySQL connection");
return;
}
if (!mysql_real_connect(&mysql, cchost, ccuser,"",NULL,0,NULL,0)) {
printf( "Failed to connect to MySQL: Error: %s\n", mysql_error(&mysql));
return;
}
if(mysql_select_db(&mysql, ccbase )==0)
printf( "Database Selected\n");
else
printf( "Failed to connect to Database: Error: %s\n", mysql_error(&mysql));
strcat(ccSQL,"DROP TABLE IF EXISTS TDZ01; ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla eliminada\n");
else
printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
/* memset(ccSQL, NULL, sizeof(ccSQL)-1); */
inicializa( ccSQL );
strcat(ccSQL,"CREATE TABLE TDZ01 ( ");
strcat(ccSQL,"NUTAB CHAR (006) NOT NULL, "); /* -- 'NOMBRE DE TABLA' */
strcat(ccSQL,"QCLETV VARCHAR (020) NOT NULL, "); /* -- 'CLAVE DE LA TABLA' */
strcat(ccSQL,"QXZMIL VARCHAR (999) NOT NULL, "); /* -- 'AREA DE DATOS' */
strcat(ccSQL,"PRIMARY KEY( QCLETV ) ); ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla creada\n");
else
printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
/* memset(ccSQL, NULL, sizeof(ccSQL)-1); */
inicializa( ccSQL );
strcat(ccSQL,"DROP TABLE IF EXISTS TDZ14; ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla eliminada\n");
else
printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
/* memset(ccSQL, NULL, sizeof(ccSQL)-1); */
inicializa( ccSQL );
strcat(ccSQL,"CREATE TABLE TDZ14 ( ");
strcat(ccSQL,"NUTAB CHAR (006) NOT NULL, "); /* -- 'NOMBRE DE TABLA' */
strcat(ccSQL,"QXZ40 VARCHAR (040) NOT NULL, "); /* -- 'CLAVE DE LA TABLA' */
strcat(ccSQL,"QXZMIL VARCHAR (999) NOT NULL, "); /* -- 'AREA DE DATOS' */
strcat(ccSQL,"PRIMARY KEY( QXZ40 ) ); ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla creada\n");
else
printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
/* memset(ccSQL, NULL, sizeof(ccSQL)-1); */
inicializa( ccSQL );
strcat(ccSQL,"DROP TABLE IF EXISTS TDZ19; ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla eliminada\n");
else
printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
/* memset(ccSQL, NULL, sizeof(ccSQL)-1); */
inicializa( ccSQL );
strcat(ccSQL,"CREATE TABLE TDZ19 ( ");
strcat(ccSQL,"NUTAB CHAR (006) NOT NULL, "); /* -- 'NOMBRE DE TABLA' */
strcat(ccSQL,"QXZ89 VARCHAR (089) NOT NULL, "); /* -- 'CLAVE DE LA TABLA' */
strcat(ccSQL,"QXZMIL VARCHAR (999) NOT NULL, "); /* -- 'AREA DE DATOS' */
strcat(ccSQL,"PRIMARY KEY( QXZ89 ) ); ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla creada\n");
else
printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
inicializa( ccSQL );
strcat(ccSQL,"DROP TABLE IF EXISTS TABTAB; ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla eliminada\n");
else
printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
inicializa( ccSQL );
strcat(ccSQL,"CREATE TABLE TABTAB ( ");
strcat(ccSQL,"CODTAB VARCHAR (006) NOT NULL, "); /* -- 'NOMBRE DE TABLA' */
strcat(ccSQL,"CODPAC CHAR (004) NOT NULL, "); /* -- 'CODIGO PACABASE' */
strcat(ccSQL,"LIBTAB VARCHAR (050) NOT NULL, "); /* -- 'LIBELLE DE LA TABLA' */
strcat(ccSQL,"PORTEE CHAR (001) NOT NULL, "); /* -- 'TABLA DE PORTEE' */
strcat(ccSQL,"NBRUBR NUMBER (003) NOT NULL, "); /* -- 'NUMERO DE Columna' */
strcat(ccSQL,"LENREG NUMBER (003) NOT NULL, "); /* -- 'LONGITUD DEL REGISTRO' */
strcat(ccSQL,"PRIMARY KEY( CODTAB, CODPAC) ); ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla creada\n");
else
printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
inicializa( ccSQL );
strcat(ccSQL,"DROP TABLE IF EXISTS TABRUB; ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla eliminada\n");
else
printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
inicializa( ccSQL );
strcat(ccSQL,"CREATE TABLE TABRUB ( ");
strcat(ccSQL,"CODTAB VARCHAR (006) NOT NULL, "); /* -- 'NOMBRE DE TABLA' */
strcat(ccSQL,"CODPAC CHAR (004) NOT NULL, "); /* -- 'CODIGO PACABASE' */
strcat(ccSQL,"CLERUB CHAR (001) NOT NULL, "); /* -- 'ES CLAVE?' */
strcat(ccSQL,"NUMRUB NUMBER (003) NOT NULL, "); /* -- 'NUMERO DE Columna' */
strcat(ccSQL,"CODRUB VARCHAR (006) NOT NULL, "); /* -- 'CODIGO DE Columna' */
strcat(ccSQL,"LIBRUB VARCHAR (042) NOT NULL, "); /* -- 'LIBELLE DE LA Columna' */
strcat(ccSQL,"FORMAT VARCHAR (012) NOT NULL, "); /* -- 'FORMATO' */
strcat(ccSQL,"REPRUB NUMBER (002) NOT NULL, "); /* -- 'n REPETICION Columna' */
strcat(ccSQL,"PRIMARY KEY( CODTAB, CODPAC, CLERUB, NUMRUB, CODRUB ) ); ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla creada\n");
else
printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
inicializa( ccSQL );
strcat(ccSQL,"DROP TABLE IF EXISTS Rubrique; ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla eliminada\n");
else
printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
inicializa( ccSQL );
strcat(ccSQL,"CREATE TABLE Rubrique ( ");
strcat(ccSQL,"NORUBR VARCHAR (012) NOT NULL, "); /* -- 'NUMERO DE Columna' */
strcat(ccSQL,"CODLANG NUMBER (002) NOT NULL, "); /* -- 'CODIGO DE IDIOMA' */
strcat(ccSQL,"LIBRUB VARCHAR (030) NOT NULL, "); /* -- 'LIBELLE DE Columna' */
strcat(ccSQL,"MODIFI CHAR (001) NOT NULL, "); /* -- 'MODIFICABLE?' */
strcat(ccSQL,"PRIMARY KEY( NORUBR ) ); ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla creada\n");
else
printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
inicializa( ccSQL );
strcat(ccSQL,"DROP TABLE IF EXISTS StructNew; ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla eliminada\n");
else
printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
inicializa( ccSQL );
strcat(ccSQL,"CREATE TABLE StructNew ( ");
strcat(ccSQL,"ST9999 VARCHAR (006) NOT NULL, "); /* -- 'NOMBRE TABLA STxxxx' */
strcat(ccSQL,"YTABST CHAR (004) NOT NULL, "); /* -- 'TABLA LOGICA' */
strcat(ccSQL,"LETTER CHAR (002) NOT NULL, "); /* -- 'ORDERN ALFA' */
strcat(ccSQL,"NAMRUB VARCHAR (008) NOT NULL, "); /* -- 'NOMBRE Columna' */
strcat(ccSQL,"KEYRUB CHAR (001) NOT NULL, "); /* -- 'IS PK?' */
strcat(ccSQL,"OCURRE NUMBER (003) NOT NULL, "); /* -- 'OCCURS' */
strcat(ccSQL,"DATYPE CHAR (001) NOT NULL, "); /* -- 'DATATYPE' */
strcat(ccSQL,"DALENG NUMBER (003) NOT NULL, "); /* -- 'LENGTH' */
strcat(ccSQL,"DECIMA NUMBER (003) NOT NULL, "); /* -- 'DECIMALES' */
strcat(ccSQL,"SIGNOS CHAR (001) NOT NULL );"); /* -- 'SIGNO' */
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla creada\n");
else
printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
inicializa( ccSQL );
strcat(ccSQL,"DROP TABLE IF EXISTS Logicals; ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla eliminada\n");
else
printf( "No puedo eliminar tabla: Error: %s\n", mysql_error(&mysql));
inicializa( ccSQL );
strcat(ccSQL,"CREATE TABLE Logicals ( ");
strcat(ccSQL,"CODTAB VARCHAR (006) NOT NULL, "); /* -- 'NOMBRE DE TABLA' */
strcat(ccSQL,"CLERUB CHAR (001) NOT NULL, "); /* -- 'ES CLAVE?' */
strcat(ccSQL,"NUMRUB NUMBER (003) NOT NULL, "); /* -- 'NUMERO DE Columna' */
strcat(ccSQL,"CODRUB VARCHAR (006) NOT NULL, "); /* -- 'NOMBRE Columna' */
strcat(ccSQL,"LIBRUB VARCHAR (042) NOT NULL, "); /* -- 'LIBELLE DE LA Columna' */
strcat(ccSQL,"DATYPE VARCHAR (001) NOT NULL, "); /* -- 'DATA TYPE' */
strcat(ccSQL,"LENGTH SMALLINT NOT NULL, "); /* -- 'LENGTH OF FIELD' */
strcat(ccSQL,"DECIMA SMALLINT NOT NULL, "); /* -- 'LENGTH OF DECIMALS' */
strcat(ccSQL,"PRIMARY KEY( CODTAB, NUMRUB, CODRUB ) ); ");
printf( "%s\n", ccSQL );
if ( mysql_exec_sql(&mysql,ccSQL )==0)
printf( "Tabla creada\n");
else
printf( "No puedo crear tabla: Error: %s\n", mysql_error(&mysql));
mysql_close(&mysql);
}
int mysql_exec_sql(MYSQL *mysql,const char *create_definition) {
return mysql_real_query(mysql,create_definition,strlen(create_definition));
}
void inicializa( char *buffer ) {
buffer = malloc(1000);
*buffer = '\0';
}
char *initchar() {
char buffer[5];
sprintf(buffer,'\0');
return(buffer);
}