cancel
Showing results for 
Search instead for 
Did you mean: 

"Client application does not allow transfer of data" error?

vlad1
Participant
0 Kudos

SQL Anywhere 11.0.1

I am having a problem with several stored procedures that attempt to

EXECUTE IMMEDIATE 'UNLOAD SELECT...

...

...

INTO CLIENT FILE ''' + filepath_filename + ''' ENCODING ''UTF-8'' format ASCII quotes off escapes off';

The stored procedure is executed on a trigger, and the problem is that when the filepath_filename variable is for a local drive, C:\something or E:\something, everything works perfectly, but the moment I try to export it to a shared network drive, N:\something, I get the error mesage

I have:

1. set option public.allow_write_client_file='on';

2. set option public.allow_read_client_file='on';

3. Given the owner (DBA) authority to both read and write client files

4. Specified "-sf none" option in the database server engine parameters

The curious thing is when I run the test UNLOAD command through interactive SQL

unload select * from comms into client file 'N:\TEST\comm.csv' format ascii;


The file gets exported perfectly fine, no questions asked, but when I try


call sp_navision_dimension_xml_output('New', 'Test');


which executes unload select... into client file in it through Interactive SQL, I get a pop-up with question "Allow this connection transfer", "Deny this connection transfer", "Allow this and all subsequent transfers", "Deny this and all subsequent transfers", and if I choose "Allow", everything works great.


But whenever I try it through the application, when the trigger executed the stored procedure, I always get the error message as on the screenshot above.


Thanks for all suggestions

Vlad


Accepted Solutions (1)

Accepted Solutions (1)

former_member207653
Active Participant
0 Kudos

This is just a general comment about the error message.

http://dcx.sap.com/index.html#1101/en/saerrors_en11/errm1171.html

That error message is documented (see link above). It says that the application must register a validation callback mechanism with the client library. More details about callback mechanisms are in the link below (for ODBC apps):

http://dcx.sap.com/index.html#1101/en/dbprogramming_en11/pg-odbcdev-connectattr.html

vlad1
Participant
0 Kudos

Thanks, I found that myself yesterday, but this is completely beyond me - re-coding ODBC drivers? Or have I misunderstood it? Also I found avery old thread by Breck Carter and Mark Clup, but I couldn't work anything out from it either.

Our application is written in Powerbuilder 11, I would really appreciate just some basic examples or guidelines about how should I go about this? Those dcx documents were a bit too complex. In short, is there something that can be quickly done in SQL Anywhere (or Powerbuilder) that would allow "UNLOAD" statements to be exported to a non-local network shared drive?

Actually, that UNLOAD now works from Interactive SQL, but when Client application amends the record and trigger gets executed which calls a stored procedure with UNLOAD, it fails.

Cheers

former_member207653
Active Participant
0 Kudos

http://dcx.sap.com/index.html#1101/en/dbadmin_en11/isql-allow-client-file-write-option.html

http://dcx.sap.com/index.html#1101/en/dbadmin_en11/isql-allow-client-file-read-option.html

I have not tested this but can you review isql_allow_read_client_file and isql_allow_write_client_file options please? Set them to ON and test if the pop-up in InteractiveSQL disappears.

This does not answer your question but it can be a step forward.

vlad1
Participant
0 Kudos

Hi Mirco,

Thanks again for the interest, but actually since that first prompt in Interactive SQL - I have never seen the prompt again. It certainly doesn't seem that it was done for a temporary connection only, ever since then I have killed and started ISQL dozens of times and the call to the procedure from ISQL exports everything to the network shared drive just fine.

However when a record is amended through the Powerbuilder application (running through ODBC), that error message still persists

Answers (0)