1. Kari Paukku
  2. PowerBuilder
  3. Friday, 19 May 2023 09:14 AM UTC

Hi,

I have a table where one of the columns datatype is BFILE (the file is stored on a file server).

My question is how to use the field in PB?

Here is my test case

       SELECT  DOCUMENT_NAME, PNTR
         INTO :FILENAME,  :DOCUMENTFILE
         FROM FS_DOCUMENT_LIST
         WHERE DOCUMENT_KEY  = 3;

The idea is then to open the file in the application, using the ShellExecute commantd.


I tried to have as :DOCUMENTFILE as Ulong or String, but I get from Oracle this type of error(data type mismatch)
ORA-00932: inconsistent datatypes: expected LONG got BFILE


When the DOCUMENTFILE is blob, no error is returned but how should I use the blob value to open the document (e.g. pdf, xlsx) ?

Thanks,
Kari

 

 

 

 

Kari Paukku Accepted Answer Pending Moderation
  1. Friday, 26 May 2023 05:45 AM UTC
  2. PowerBuilder
  3. # 1

Hi,

the function appeaoch works ok and the largest file I used for testing was a 90MB video file.

It worked surprisingly well considering the size.

Kari

 

Comment
  1. Miguel Leeuwe
  2. Friday, 26 May 2023 07:24 AM UTC
Ok, great news Kari!
  1. Helpful
There are no comments made yet.
Kari Paukku Accepted Answer Pending Moderation
  1. Wednesday, 24 May 2023 08:49 AM UTC
  2. PowerBuilder
  3. # 2

Hi,

 

in the end I created an Oracle function that retrieves the file from the BFILE and returns a BLOB to the PB Application.

Not perhaps ideal, but works for now.

kp

Comment
  1. Miguel Leeuwe
  2. Wednesday, 24 May 2023 10:23 AM UTC
I'm not sure if there's a limit on the size of a blob that can be returned from a function to PB (considering the limited package sizes for TCP)?
  1. Helpful
  1. Miguel Leeuwe
  2. Wednesday, 24 May 2023 10:23 AM UTC
Try the function with files bigger than 32 KB.
  1. Helpful
  1. Miguel Leeuwe
  2. Wednesday, 24 May 2023 10:25 AM UTC
Like René Ullrich suggested. Have you tried SELECTBLOB?
  1. Helpful
There are no comments made yet.
Kari Paukku Accepted Answer Pending Moderation
  1. Friday, 19 May 2023 13:37 PM UTC
  2. PowerBuilder
  3. # 3

Hi,

my hope was to be able to open the file in question without having the need to create a temporary file which I would open. That's the way I do if the document is stored in a BLOB column).

I was hoping that there would be a way to find a pointer to the file and simply open it (as the file is already on the file server).

kp

 

 

Comment
  1. Miguel Leeuwe
  2. Friday, 19 May 2023 16:47 PM UTC
I guess it all depends if your blob has been stored in the DB including fileheaders or not. If they're not included you'll have to write to a temp file on disk first.
  1. Helpful
There are no comments made yet.
René Ullrich Accepted Answer Pending Moderation
  1. Friday, 19 May 2023 09:33 AM UTC
  2. PowerBuilder
  3. # 4

I have never used BFILE but maybe SELECTBLOB command could do the job.

https://docs.appeon.com/pb2022/powerscript_reference/xREF_57113_Using_SQL_in.html#xREF_86244_SELECTBLOB

 

Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.
We use cookies which are necessary for the proper functioning of our websites. We also use cookies to analyze our traffic, improve your experience and provide social media features. If you continue to use this site, you consent to our use of cookies.