#include #include #include extern int errno; const char MY_DATABASE[]="telcent"; const char MY_TABLE[]="fax"; const char MY_HOST[]="localhost"; const char MY_USER[]="root"; const char MY_PASSWORD[]=""; const char MY_FIELD[]="fax"; // BLOB field int main(int argc, char *argv[]) { if (argc < 2) { std::cerr << "Usage : load_file full_file_path" << std::endl << std::endl; return -1; } mysqlcppapi::Connection con; try { con.set_Host(MY_HOST); con.set_User(MY_USER); con.set_Password(MY_PASSWORD); con.set_Port(3306); con.connect(); con.select_database(MY_DATABASE); std::ifstream In (argv[1],std::ios::in | std::ios::binary); struct stat for_len; if ((In.rdbuf())->is_open()) { if (stat (argv[1],&for_len) == -1) return -1; unsigned int blen = for_len.st_size; if (!blen) return -1; char *read_buffer = new char[blen]; In.read(read_buffer,blen); std::string fill(read_buffer,blen); mysqlcppapi::Query query = con.create_Query(); std::ostringstream strbuf; strbuf << "INSERT INTO " << MY_TABLE << " (" << strbuf << MY_FIELD << ") VALUES(\"" << fill << "\")"; query << strbuf.str(); query.execute(); delete[] read_buffer; } else std::cerr << "Your binary file " << argv[1] << "could not be opened, errno = " << errno; return 0; } catch (mysqlcppapi::ex_BadQuery& er) { std::cerr << "Error: " << er.what() << std::endl; return -1; } }