on 2011 Oct 28 3:01 PM
Looks like a call of proxy procedure in any case runs in autocommit mode on remote server side. How to call a procedure in a distributed transaction mode?
Operation System:
SQL Anywhere Server:
Remote Database:
Oracle ODBC driver:
create table t_remote_call_param ( param_value varchar(32) ); create procedure t_remote_proc ( param varchar2 ) is begin insert into t_remote_call_param ( param_value ) values ( param ); end;
create server "oracle_odbc" class 'ORAODBC' using 'oracle_odbc_x64'; create existing table t_proxy_call_param at 'oracle_odbc;;dbname;t_remote_call_param'; create procedure t_proxy_to_oracle( @param varchar(32) ) at 'oracle_odbc;;dbname;t_remote_proc'; select * from t_proxy_call_param; /* output (0 rows selected😞 ------- PARAM_VALUE ----------- */ begin tran; call t_proxy_to_oracle( 'qwerty123' ); rollback; select * from t_proxy_call_param; /* output (1 rows selected😞 ------- PARAM_VALUE ----------- qwerty123 */
User | Count |
---|---|
71 | |
10 | |
9 | |
7 | |
6 | |
6 | |
6 | |
5 | |
5 | |
5 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.