Tài liệu này dành cho phiên bản không được hỗ trợ của soi kèo bóng đá truoctran.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.
soi kèo bóng đá truoctran
prev soi kèo bóng đá truoctran 42. Đối tượng lớn NEXT

Mẫu soi kèo bóng đá truoctran

/*--------------------------------------------------------------------------
          *
          * testlo.c--
          * Kiểm tra bằng cách sử dụng các đối tượng lớn với libpq
          *
          * Bản quyền (c) 1994, Regents của Đại học California
          *
          *
          * Nhận dạng
          * /usr
          *
          *----------------------------------------------------------------------
          */
         #include <stdio.h
         #include "libpq-fe.h"
         #include "libpq/libpq-fs.h"

         #Define Bufsize 1024

         /*
          * Nhập khẩu * Nhập tệp "in_filename" vào cơ sở dữ liệu dưới dạng đối tượng lớn "lobjoid"
          *
          */
         OID Nhập khẩu (PGConn *soi kèo bóng đá truoctran, Char *FileName)

             Oid lobjid;
             int lobj_fd;
             char buf [bufsize];
             int nbytes, TMP;
             int fd;

             /*
              * Mở tệp để đọc trong
              */
             fd = open (tên tệp, o_rdonly, 0666);
             if (fd <0)  / * lỗi * /
              fprintf (stderr, "không thể mở tệp unix

             /*
              * Tạo đối tượng lớn
              */
             lobjid = lo_creat (soi kèo bóng đá truoctran, inv_read | inv_write);
             if (lobjid == 0) 
              fprintf (stderr, "không thể tạo đối tượng lớn");

             lobj_fd = lo_open (soi kèo bóng đá truoctran, lobjid, inv_write);
             /*
              * Đọc từ tệp Unix và ghi vào tệp đảo ngược
              */
             while ((nbytes = read (fd, buf, bufsize)) 0) 
              tmp = lo_write (soi kèo bóng đá truoctran, lobj_fd, buf, nbytes);
              if (tmp <nbytes) 
                  fprintf (stderr, "lỗi khi đọc

             (void) đóng (FD);
             (void) lo_close (soi kèo bóng đá truoctran, lobj_fd);

             trả lại lobjid;

         void pickout (pgconn *soi kèo bóng đá truoctran, oid lobjid, int start, int len)

             int lobj_fd;
             char* buf;
             int nbytes;
             int nread;

             lobj_fd = lo_open (soi kèo bóng đá truoctran, lobjid, inv_read);
             if (lobj_fd <0) 
              fprintf (stderr, "không thể mở đối tượng lớn %d",
                   lobjid);

             lo_lseek (soi kèo bóng đá truoctran, lobj_fd, bắt đầu, seek_set);
             buf = malloc (len+1);

             nread = 0;
             while (len - nread 0) 
              nbytes = lo_read (soi kèo bóng đá truoctran, lobj_fd, buf, len - nread);
              buf [nbytes] = '';
              fprintf (stderr, " %s", buf);
              NREAD += nbytes;

             fprintf (stderr, "0);
             lo_close (soi kèo bóng đá truoctran, lobj_fd);

         Void ghi đè (PGConn *soi kèo bóng đá truoctran, Oid lobjid, Int Start, Int Len)

             int lobj_fd;
             char* buf;
             int nbytes;
             int nwritten;
             int i;

             lobj_fd = lo_open (soi kèo bóng đá truoctran, lobjid, inv_read);
             if (lobj_fd <0) 
              fprintf (stderr, "không thể mở đối tượng lớn %d",
                   lobjid);

             lo_lseek (soi kèo bóng đá truoctran, lobj_fd, bắt đầu, seek_set);
             buf = malloc (len+1);

             for (i = 0; i <len; i ++)
              buf [i] = 'x';
             buf [i] = '';

             nwritten = 0;
             while (len - nwritten 0) 
              nbytes = lo_write (soi kèo bóng đá truoctran, lobj_fd, buf + nwritten, len - nwritten);
              nwritten += nbytes;

             fprintf (stderr, "0);
             lo_close (soi kèo bóng đá truoctran, lobj_fd);

         /*
          * Xuất
          *
          */
         void ExportFile (PGConn *soi kèo bóng đá truoctran, oid lobjid, char *filename)

             int lobj_fd;
             char buf [bufsize];
             int nbytes, TMP;
             int fd;

             /*
              * Tạo một "đối tượng" đảo ngược
              */
             lobj_fd = lo_open (soi kèo bóng đá truoctran, lobjid, inv_read);
             if (lobj_fd <0) 
              fprintf (stderr, "không thể mở đối tượng lớn %d",
                   lobjid);

             /*
              * Mở tệp để được ghi vào
              */
             fd = open (tên tệp, o_creat | o_wronly, 0666);
             if (fd <0)  / * lỗi * /
              fprintf (stderr, "không thể mở tệp unix
                   tên tệp);

             /*
              * Đọc từ tệp Unix và ghi vào tệp đảo ngược
              */
             while ((nbytes = lo_read (soi kèo bóng đá truoctran, lobj_fd, buf, bufsize)) 0) 
              TMP = Viết (FD, BUF, NBYTES);
                 if (tmp <nbytes) 
                  fprintf (stderr, "lỗi trong khi viết
                       tên tệp);

             (void) lo_close (soi kèo bóng đá truoctran, lobj_fd);
             (void) đóng (FD);

             trở lại;

         Vô hiệu
         exit_nicely (pgconn* soi kèo bóng đá truoctran)

           Pqfinish (soi kèo bóng đá truoctran);
           Thoát (1);

         int
         Main (int argc, char ** argv)

             char *in_filename, *out_filename;
             cơ sở dữ liệu char *;
             Oid lobjoid;
             Pgconn *soi kèo bóng đá truoctran;
             Pgresult *res;

             if (argc! = 4) 
              fprintf (stderr, "sử dụng: %s database_name in_filename out_filename0,
                   Argv [0]);
              Thoát (1);

             cơ sở dữ liệu = argv [1];
             in_filename = argv [2];
             out_filename = argv [3];

             /*
              * Thiết lập kết nối
              */
             soi kèo bóng đá truoctran = pqsetDB (null, null, null, null, cơ sở dữ liệu);

             / * Kiểm tra xem kết nối phụ trợ đã được thực hiện thành công */
             if (pqstatus (soi kèo bóng đá truoctran) == Connection_bad) 
              fprintf (stderr, "kết nối với cơ sở dữ liệu '%s' không thành công.0, cơ sở dữ liệu);
              fprintf (stderr, "%s", pqerrormessage (soi kèo bóng đá truoctran));
              exit_nicely (soi kèo bóng đá truoctran);

             res = pqExec (soi kèo bóng đá truoctran, "bắt đầu");
             PQCLEAR (RES);

             printf ("Nhập tệp
         /* lobjoid = Nhập khẩu (soi kèo bóng đá truoctran, in_filename); */
             lobjoid = lo_import (soi kèo bóng đá truoctran, in_filename);
         /*
             printf ("như đối tượng lớn %d.0, lobjoid);

             printf ("chọn ra byte 1000-2000 của đối tượng lớn0);
             Pickout (soi kèo bóng đá truoctran, lobjoid, 1000, 1000);

             printf ("Ghi đè byte 1000-2000 của đối tượng lớn với x's0);
             Ghi đè (soi kèo bóng đá truoctran, lobjoid, 1000, 1000);
         */

             printf ("Xuất đối tượng lớn sang tệp
         /* exportFile (soi kèo bóng đá truoctran, lobjoid, out_filename); */
             lo_export (soi kèo bóng đá truoctran, lobjoid, out_filename);

             res = pqExec (soi kèo bóng đá truoctran, "end");
             PQCLEAR (RES);
             Pqfinish (soi kèo bóng đá truoctran);
             Thoát (0);

Prev Trang chủ Tiếp theo
Truy cập lớn Đối tượng từ libpq UP ECPG - SQL nhúng Trong C