#include #include #include #include static MYSQL *Mysql = NULL; static MYSQL_STMT *Stmt = NULL; static char Host[80 + 1]; static int Port; static char Db[80 + 1]; static char User[80 + 1]; static char Pass[80 + 1]; static const char *SqlStr = "SELECT `K`, `C00`, `C01`, `C02`, `C03`, `C04`, `C05`, `C06`, `C07`, `C08`, `C09`, `C10`, `C11`," "`C12`, `C13`, `C14`, `C15`, `C16`, `C17`, `C18`, `C19`, `C20`, `C21`, `C22`, `C23`, `C24`, `C25`," "`C26`, `C27`, `C28`, `C29`, `C30`, `C31`, `C32`, `C33`, `C34`, `C35`, `C36`, `C37`, `C38`, `C39`," "`C40`, `C41`, `C42`, `C43` FROM SCTYAO"; static void PrintUsage() { fprintf(stderr, "Usage : tst2053 db_server_ip db_server_port database user_id password\n"); } int main(int argc, const char *argv[]) { if ( argc != 6 ) { PrintUsage(); return 8; } int r; r = mysql_library_init(0, NULL, NULL); if ( r != 0 ) { fprintf(stderr, "mysql_library_init fail, r = %d\n", r); return 8; } Mysql = mysql_init(NULL); if ( Mysql == NULL ) { fprintf(stderr, "mysql_init fail\n"); return 8; } r = mysql_options(Mysql, MYSQL_SET_CHARSET_NAME, "utf8mb4"); if ( r != 0 ) { fprintf(stderr, "mysql_option fail, sqlcode = %d, error = %s\n", mysql_errno(Mysql), mysql_error(Mysql)); return 8; } strcpy(Host, argv[1]); Port = atoi(argv[2]); strcpy(Db, argv[3]); strcpy(User, argv[4]); strcpy(Pass, argv[5]); if ( mysql_real_connect(Mysql, Host, User, Pass, Db, Port, NULL, 0) == NULL ) { fprintf(stderr, "mysql_real_connect fail, sqlcode = %d, error = %s\n", mysql_errno(Mysql), mysql_error(Mysql)); return 8; } Stmt = mysql_stmt_init(Mysql); if ( Stmt == NULL ) { fprintf(stderr, "mysql_stmt_init fail, sqlcode = %d, error = %s\n", mysql_errno(Mysql), mysql_error(Mysql)); return 8; } if ( mysql_stmt_prepare(Stmt, SqlStr, strlen(SqlStr)) != 0 ) { fprintf(stderr, "mysql_stmt_prepare fail, sqlcode = %d, error = %s\n", mysql_errno(Mysql), mysql_error(Mysql)); return 8; } { unsigned long Attr; Attr = CURSOR_TYPE_READ_ONLY; if ( mysql_stmt_attr_set(Stmt, STMT_ATTR_CURSOR_TYPE, &Attr) != 0 ) { fprintf(stderr, "mysql_stmt_attr_set(STMT_ATTR_CURSOR_TYPE) fail, sqlcode = %d, error = %s\n", mysql_stmt_errno(Stmt), mysql_stmt_error(Stmt)); return 8; } } if ( mysql_stmt_execute(Stmt) != 0 ) { /* fprintf(stderr, "mysql_stmt_execute fail, sqlcode = %d, error = %s\n", mysql_stmt_errno(Stmt), mysql_stmt_error(Stmt)); */ fprintf(stderr, "mysql_stmt_execute fail, sqlcode = %d, error = %s\n", mysql_errno(Mysql), mysql_error(Mysql)); return 8; } return 0; }