1. Alan Rice
  2. PowerServer Mobile
  3. Tuesday, 25 September 2018

Hi,

How are people copying files (images or other files) from Appeon Mobile apps to their server?

I am trying trying to use UPDATEBLOB to store the image in the database but the below code is throwing the following error: "Error Code: 10999. Object refrence not set to an instance of an object" at the insert statement. This statement works from PB Desktop without issue.

String 	ls_filepath
Integer 	li_return
blob   	l_blob_file
int    	l_file_handle
eon_mobile_str_cameraoption lstr_option
eon_mobile_cameraex ln_camera

lstr_option.i_filetype = 1 			// Photo
lstr_option.b_allowedit = FALSE 		// The photo is not editable after picture-taking

ln_camera = create eon_mobile_cameraex

ln_camera.of_openalbums ( ls_filepath ) // i also tried ln_camera.of_openalbums ( ls_filepath, l_blob_file)
MessageBox('',ls_filepath)

l_file_handle = FileOpen(ls_filepath, StreamMode!)

MessageBox('','Handle: ' + String(l_file_handle))

IF l_file_handle <> -1 THEN

	MessageBox('Info','Reading File')
	FileRead(l_file_handle, l_blob_file)
	
	MessageBox('Info','Closing File')
	FileClose(l_file_handle)
      
	MessageBox('Info','Inserting Blob to database')
	// this is where it is failing
	UPDATEBLOB storage_blobs
	SET FileBlob = :l_blob_file
	WHERE storage_blobs.ID = 2
	USING SQLCA;
	MessageBox('Info','Inserting Blob to database done')

Else
	MessageBox('Error','Cannot get handle on file')
END IF

IF SQLCA.SQLNRows > 0 THEN
	COMMIT USING SQLCA ;
Else
	MessageBox('Error','Cannot insert blob to database')
END IF

p_1.picturename = ls_filepath // this works





I was hoping to avoid using the File Upload and Download feature due to how our client's internal servers are setup. Don't want to have to recopy the file from the Appeon Server machine to another machine etc. but if this is the only way it can be done... Ideally I'd love to be able to upload it to a SOAP Webservice using a byte array but I've had issues doing this too.

Is it possible to use UpdateBlob like above (connecting to a ms sql database) or can anyone spot why this is failing.

Thanks,
Alan

 

 

Accepted Answer
Zhao Kai Accepted Answer Pending Moderation
1
Votes
Undo

Hi Alan,

Please go to Toolkit > Configure > Application profiles > DB Settings to check if you had checked correct database type.

And please go to AEM > Application > Transactions > Transaction Objects > %your application% to check if the transaction object map to correct data source and the database type is correct.

Regards,
ZhaoKai

Comment
There are no comments made yet.
  1. Wednesday, 26 September 2018
  2. PowerServer Mobile
  3. # Permalink
Chris Pollach Accepted Answer Pending Moderation
1
Votes
Undo

Hi Alan;

  How is PowerServer connecting to SS ... That is what type of connection is it defined as in PS?

When the error occurs - what is the command that fails (line number)?

Regards ... Chris

Comment
Hi Chris and ZhaoKai,



Sorry this is all working for me now with the above code, it was something stupid on our side.

We have a number of in house development databases and the Appeon database profile name suggested it was using a different database than it actually was. I had a basic select statement which was working so I incorrectly presumed the connection info was correct but the updateblob was failing because it didn't have the new column (varbinary(max)).



Thanks for replies.
  1. Alan Rice
  2. Wednesday, 26 September 2018
There are no comments made yet.
  1. Tuesday, 25 September 2018
  2. PowerServer Mobile
  3. # 1
  • Page :
  • 1


There are no replies made for this question yet.
However, you are not allowed to reply to this question.