Skip site navigation (1) Skip section navigation (2)

reading reading files from the DB

From: "sandhya" <sandhyar(at)amiindia(dot)co(dot)in>
To: "postgre" <pgsql-admin(at)postgresql(dot)org>
Cc: "sandhya" <sandhyar(at)amiindia(dot)co(dot)in>
Subject: reading reading files from the DB
Date: 2005-12-28 11:10:02
Message-ID: 03b301c60b9f$3fff4f40$cd00000a@amiindiahjwbgh (view raw or flat)
Thread:
Lists: pgsql-admin
 Hi.....

I have exported few files into my DB server running on LINUX os.
I connected to it remotely from windows and through one sample application
like webserver i am trying to read the contents of it when ever there is a
request for the specified file.Using the below example code.
 Is this correct?I am not finding that it is reading it from the database.
How can i make sure of this.I am unable to open the requested file from win
application through database.
 please suggest me .........
 voi d GetFiles(PGconn *conn, unsigned int lobjId, int start)
 {

 ---------

 ------------

 int lobj_fd;

 lobj_fd = lo_open(conn, lobjId, INV_READ);

 if (lobj_fd < 0)

 {

 MessageBox(0,"error","Cannot Object Id ",MB_OK);

 }

 lo_lseek(conn, lobj_fd, start, SEEK_END);

 len = lo_tell(conn,lobj_fd);

 lo_lseek(conn, lobj_fd, start, SEEK_SET);

 buf =(char*) malloc(len + 1);

 nread = 0;

 while (len - nread > 0)

 {

 nbytes = lo_read(conn, lobj_fd, buf, len - nread);

 buf[nbytes] = ' ';

 nread += nbytes;

 }

 MessageBox(0,"Inside get","test",MB_OK);

 free(buf);

 lo_close(conn, lobj_fd);

 }



 Thank you.....
 Sandhya

> ----- Original Message ----- 
> From: "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us>
> To: "sandhya" <sandhyar(at)amiindia(dot)co(dot)in>
> Cc: "postgre" <pgsql-admin(at)postgresql(dot)org>
> Sent: Monday, December 26, 2005 9:08 PM
> Subject: Re: [ADMIN] reg:lseek&read ..pls
>
>
> > "sandhya" <sandhyar(at)amiindia(dot)co(dot)in> writes:
> > > But before that i need to know the size of the object from which i am
=
> > > trying to get the contents.
> > > How can i do this?
> >
> > Same way you'd do it for a Unix file: seek to the end, note the end
> > offset, seek back to the start and read.
> >
> > ... lo_open ...
> > lo_size = lo_lseek(conn, fd, 0, SEEK_END);  // where's the end?
> > lo_lseek(conn, fd, 0, SEEK_SET);  // go back to start
> >
> > regards, tom lane
> >
> > ---------------------------(end of broadcast)---------------------------
> > TIP 2: Don't 'kill -9' the postmaster
> >
>
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 2: Don't 'kill -9' the postmaster
>




Responses

pgsql-admin by date

Next:From: Jaime CasanovaDate: 2005-12-28 13:56:36
Subject: Re: sending mail from Postgres
Previous:From: Mohamed FazilDate: 2005-12-28 10:21:32
Subject: How to do Client Only Installation on Windows as a service?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group