1、#include my_sys.hm_string.h /* for strdup() */mysql.hmy_getopt.h#ifdef HAVE_OPENSSLenum options_client OPT_SSL_SSL=256, OPT_SSL_KEY, OPT_SSL_CERT, OPT_SSL_CA, OPT_SSL_CAPATH, OPT_SSL_CIPHER, OPT_SSL_VERIFY_SERVER_CERT;#endifstatic char *opt_host_name = NULL; /* server host (default=localhost) */stat
2、ic char *opt_user_name = NULL; /* username (default=login name) */static char *opt_password = NULL; /* password (default=none) */static unsigned int opt_port_num = 0; /* port number (use built-in value) */static char *opt_socket_name = NULL; /* socket name (use built-in value) */static char *opt_db_
3、name = NULL; /* database name (default=none) */static unsigned int opt_flags = 0; /* connection flags (none) */sslopt-vars.hstatic int ask_password = 0; /* whether to solicit password */static MYSQL *conn; /* pointer to connection handler */static const char *client_groups = client, NULL ;static str
4、uct my_option my_opts = /* option information structures */ help, ?, Display this help and exit, NULL, NULL, NULL, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0,hosthHost to connect to (uchar *) &opt_host_name, NULL, NULL, GET_STR, REQUIRED_ARG, 0, 0, 0, 0, 0, 0,passwordpPasswordopt_password, NULL, NULL, GET
5、_STR, OPT_ARG, 0, 0, 0, 0, 0, 0,portPPort numberopt_port_num, NULL, NULL, GET_UINT, REQUIRED_ARG, 0, 0, 0, 0, 0, 0,socketSSocket pathopt_socket_name, NULL, NULL,useruUser nameopt_user_name, NULL, NULL,sslopt-longopts.h NULL, 0, NULL, NULL, NULL, NULL, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0 /* * Print
6、diagnostic message. If conn is non-NULL, print error information * returned by server. */static voidprint_error (MYSQL *conn, char *message) fprintf (stderr, %sn, message); if (conn != NULL) Error %u (%s): %sn mysql_errno (conn), mysql_sqlstate (conn), mysql_error (conn); * Like print_error(), but u
7、se statement handler rather than * connection handler to access error information./* # _PRINT_STMT_ERROR_ */print_stmt_error (MYSQL_STMT *stmt, char *message) if (stmt ! mysql_stmt_errno (stmt), mysql_stmt_sqlstate (stmt), mysql_stmt_error (stmt);static my_boolget_one_option (int optid, const struct
8、 my_option *opt, char *argument) switch (optid) case : my_print_help (my_opts); /* print help message */ exit (0); /* password */ if (!argument) /* no value given; solicit it later */ ask_password = 1; else /* copy password, overwrite original */ opt_password = strdup (argument); if (opt_password =
9、NULL) print_error (NULL, could not allocate password buffer); exit (1); while (*argument) *argument+ = x; ask_password = 0; break;sslopt-case.h return (0);#include process_prepared_statement.cintmain (int argc, char *argv)int opt_err; MY_INIT (argv0); load_defaults (my, client_groups, &argc, &argv);
10、 if (opt_err = handle_options (&argv, my_opts, get_one_option) exit (opt_err); /* solicit password if necessary */ if (ask_password) opt_password = get_tty_password (NULL); /* get database name if present on command line */ if (argc 0) opt_db_name = argv0; -argc; +argv; /* initialize client library
11、*/ if (mysql_library_init (0, NULL, NULL)mysql_library_init() failed /* initialize connection handler */ conn = mysql_init (NULL); if (conn = NULL)mysql_init() failed (probably out of memory) /* pass SSL information to client library */ if (opt_use_ssl) mysql_ssl_set (conn, opt_ssl_key, opt_ssl_cert, opt_ssl_ca, opt_ssl_capath, opt_ssl_cipher); mysql_options (conn,MYSQL_OPT_SSL_VERIFY_SERVER_CERT, (char*)&opt_ssl_verify_server_cert
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1