testlo.cc
上传用户:blenddy
上传日期:2007-01-07
资源大小:6495k
文件大小:2k
源码类别:

数据库系统

开发平台:

Unix_Linux

  1. /*-------------------------------------------------------------------------
  2.  *
  3.  * lotest.cc--
  4.  *    test using large objects with libpq
  5.  *
  6.  * Copyright (c) 1994, Regents of the University of California
  7.  *
  8.  *
  9.  * IDENTIFICATION
  10.  *    $Header: /usr/local/cvsroot/pgsql/src/interfaces/libpq++/examples/testlo.cc,v 1.4 1999/05/23 01:04:07 momjian Exp $
  11.  *
  12.  *-------------------------------------------------------------------------
  13.  */
  14. #include <iostream.h>
  15. #include <libpq++.H>
  16. #include <stdlib.h>
  17. int main(int argc, char **argv)
  18. {
  19.     // Check if the program was invoked correctly; if not, signal error
  20.     if (argc < 4 || argc > 5) {
  21. cerr << "Usage: " << argv[0] << " database_name in_filename out_filename [oid]" << endl;
  22. exit(1);
  23.     }
  24.     // Get the arguments passed to the program
  25.     char* database = argv[1];
  26.     char* in_filename = argv[2];
  27.     char* out_filename = argv[3];
  28.     // Set up the connection and create a large object
  29.     int lobjId = ( argc == 4 ? 0 : atoi(argv[4]) );
  30.     PgLargeObject object(lobjId, database);
  31.     // check to see that the backend connection was successfully made
  32.     if ( object.ConnectionBad() ) {
  33.          cerr << "Connection to database '" << database << "' failed." << endl
  34.               << object.ErrorMessage();
  35.  exit(1);
  36.     }
  37.     // Test the import and export features of the Large Object interface
  38.     object.Exec("BEGIN");
  39.     cout << "Importing file "" << in_filename << ""..." << endl;
  40.     object.Import(in_filename);
  41.     cout << "Exporting large object to file "" << out_filename << ""..." << endl;
  42.     object.Export(out_filename);
  43.     object.Exec("END"); // WHY DOES IT CORE DUMP HERE ???
  44. }