on 2011 Nov 15 7:46 AM
Hello,
Assume, we have a procedure in SA 10.0.1.4225 (remote database is SA11 or SA12):
CREATE PROCEDURE "remote_user"."p_test_remote_xml"(IN @s CHAR(30000)) result(r CHAR(30000)) at 'main_database;;dba;sp_test_remote_xml'
We get an error when we try to pass an argument with more than 254 characters:
The string is too long (parameter 1) SQLCODE=-973, ODBC 3 State="54000"
However, documentation says nothing about such limitation (or at least I can't find anything about that). Besides, the problem is only with the argument and not with return string.
Is it possible in some other way to pass a string with more than 254 characters to remote procedure? Or using web service is the only way?
Request clarification before answering.
From the 12.0.1 "What's new" docs:
IN parameters of data types LONG VARCHAR, LONG BINARY, and LONG NVARCHAR are now allowed in remote procedure calls.
A remote procedure call can now contain IN parameters of data types LONG VARCHAR, LONG NVARCHAR, and LONG BINARY. In addition, parameters of data types VARCHAR, NVARCHAR, and BINARY are no longer restricted to 255 bytes. See Create remote procedures.
Therefore I would assume (but I'm not sure!) that in 10.0.1, you have run into an existing limitation...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Yes, you have hit a known limitation with remote procedures that was eventually resolved in 12.0.1. Sadly, the documentation is not clear enough about the restriction.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
52 | |
6 | |
5 | |
5 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.